Хорошо, ребята, я работаю над этим со вчерашнего дня, и это сводит меня с ума.
Я создаю способ загрузки и архивирования файла на лету, но также этот zip-файл должен быть затем защищен паролем (запрос клиента, к сожалению).
Теперь все в порядке, пока защита паролем не работает вообще.
Я знаю, что exec настолько небезопасно, но, поверьте мне, я просто хочу найти решение прямо сейчас.
Это код
if(isset($_FILES['fileSound']['name']) && isset($_FILES['fileLyric']['name'])) {
$nameFileSound = $_FILES['fileSound']['name'];
$tmpNameSound = $_FILES['fileSound']['tmp_name'];
$nameFileLyric = $_FILES['fileLyric']['name'];
$tmpNameLyric = $_FILES['fileLyric']['tmp_name'];
$download_folder = './CopyrightFiles/';
$zip = new ZipArchive();
$fileconpress = $download_folder . $RefNum . ".zip";
$conpress = $zip->open($fileconpress, ZIPARCHIVE::CREATE);
if ($conpress === true)
{
$zip->addFile($tmpNameSound, $nameFileSound);
$zip->addFile($tmpNameLyric, $nameFileLyric);
$zip->close();
echo $fileconpress."<br/>";
echo "yess !! Success!!!! ";
}
else echo " Oh No! Error";
}
exec("zip -r ".$download_folder.$RefNum.".zip -P password ".$download_folder.$RefNum."-protected.zip");
Теперь $RefNum
- такая строка 1333-COP-3899827399283.
Я проверил, работает ли команда exec на сервере, и да.
Ошибки не отображаются.
Что я делаю не так?
Может быть, путь?
Какой путь мне следует использовать для команды exec?
Например, опция $ zip начинается с public_html
Где начинается exec?
Как вы думаете, это проблема или есть какая-то другая проблема?
Пожалуйста, помогите мне.
Спасибо!