Executando o script sh quando o upload de arquivos no servidor xampp

1

Estou fazendo um aplicativo que requer que um script .sh seja executado em um arquivo que foi carregado recentemente no meu servidor XAMPP (diretório: / opt / lampp / htdocs / audio_server / uploads) que simplesmente o move de um arquivo. diretório para outro. O seguinte é o meu código PHP para chamar o arquivo:

    <?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");

     ?>

e meu arquivo dirChangeScript.sh é o seguinte:

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

Executando o script acima, recebo o erro "uploads omitidos do diretório '".

O problema por mais estranho que possa parecer é que sempre que o script dirChangeScript é executado a partir do arquivo PHP, nenhum efeito é observado, ou seja, o arquivo mais recente não é copiado para a pasta especificada.

Mas quando eu executo o script através do terminal, o arquivo correto (mais recente) é copiado para o diretório de destino.

Também tentei a seguinte declaração também:

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

Mas, neste caso, todo o diretório de uploads junto com todos os seus arquivos é copiado dentro da pasta convertida.

    
por yash tomar 20.02.2018 / 19:42

0 respostas