Ausführen eines SH-Skripts beim Hochladen von Dateien auf den XAMPP-Server

Ausführen eines SH-Skripts beim Hochladen von Dateien auf den XAMPP-Server

Ich erstelle eine Anwendung, die ein .sh-Skript erfordert, das auf einer Datei ausgeführt wird, die neu auf meinen XAMPP-Server hochgeladen wurde (Verzeichnis :/opt/lampp/htdocs/audio_server/uploads), wodurch sie einfach von einem Verzeichnis in ein anderes verschoben wird. Im Folgenden sehen Sie meinen PHP-Code zum Aufrufen der Datei:

    <?php
     print_r($_FILES);
     $target_path = "uploads/";

     $target_path = $target_path . basename( $_FILES['audio_name']                                          ['name']); 

      if(move_uploaded_file($_FILES['audio_name']['tmp_name'], $target_path))
     {
         echo "The file ".  basename( $_FILES['audio_name']['name'])." has been uploaded";
         chmod ("uploads/".basename( $_FILES['audio_name']['name']), 0777);
     }
     else
     {
         echo "There was an error uploading the file, please try again!";
         echo "filename: " .  basename( $_FILES['audio_name']['name']);
         echo "target_path: " .$target_path;
     }
     echo shell_exec("/opt/lampp/htdocs/audio_server/uploads/dirChangeScript.sh 2>&1");

     ?>

und meine Datei dirChangeScript.sh sieht wie folgt aus:

    latest_file=$(ls -t | head -n 1)
    cp -p "$latest_file" /opt/lampp/htdocs/audio_server/converted

Beim Ausführen des obigen Skripts erhalte ich die Fehlermeldung „Verzeichnis ‚Uploads‘ ausgelassen“.

Das Problem, so seltsam es auch klingen mag, besteht darin, dass jedes Mal, wenn das Skript „dirChangeScript“ aus der PHP-Datei ausgeführt wird, kein Effekt beobachtet wird, d. h. die neueste Datei wird nicht in den angegebenen Ordner kopiert.

Aber wenn ich das Skript über das Terminal ausführe, wird die richtige (neueste) Datei in das Zielverzeichnis kopiert.

Außerdem habe ich auch die folgende Anweisung ausprobiert:

    cp -r "$latest_file" /opt/lampp/htdocs/audio_server/converted

In diesem Fall wird jedoch das gesamte Upload-Verzeichnis mit allen darin enthaltenen Dateien in den konvertierten Ordner kopiert.

verwandte Informationen