Запуск скрипта sh при загрузке файлов на сервер xampp

Я делаю приложение, которое требует, чтобы сценарий .sh запускался в файле, который был недавно загружен на моем сервере XAMPP (каталог: / opt / lampp / htdocs / audio_server / uploads), который просто перемещает его из одного каталог другому. Следующим является мой PHP-код для вызова файла:

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

и мой файл dirChangeScript.sh выглядит следующим образом:

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

Выполняя описанный выше сценарий, я получаю сообщение об ошибке "

Проблема, как это ни странно, заключается в том, что всякий раз, когда скрипт dirChangeScript запускается из файла PHP, эффект не наблюдается, т. е. последний файл не копируется в указанную папку. [ ! d3]

Но когда я запускаю скрипт через терминал, соответствующий файл (последний) копируется в целевой каталог.

Также я попробовал следующее утверждение:

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

Но в этом случае весь каталог загрузок вместе со всеми его файлами копируется внутри конвертируемой папки.

1
задан 20 February 2018 в 22:42

0 ответов

Другие вопросы по тегам:

Похожие вопросы: