Я хочу, чтобы извлечь ZIP-файл с помощью PHP на сервере Apache. Но я получил ошибку по этому поводу.
Это мой код
$enviornment = "zip -P test -r /var/www/test/test.zip /var/www/test/output/";
exec($enviornment, $output, $return);
echo "<pre>";
print_r($output);
Это сообщение об ошибке.
[0] => zip I/O error: Permission denied
[1] => zip error: Could not create output file (/var/www/test/test.zip)
Я уже помещаю права доступа в папку / var / www / test / output /.
Вы пытаетесь использовать zip, но вместо этого вам нужно использовать unzip — то, что вы делаете, это создание архив из / var / www / test / output /, проверьте страницу руководства для подробностей:
Основной формат команды
zip options archive inpath inpath ...
где архив — это новый или существующий zip-архив, а inpath — путь к каталогу или файлу, необязательно включающий подстановочные знаки. Когда дано
имя существующего zip-архива, zip будет заменять идентично
именованные записи в zip-архиве (соответствующие относительным именам, хранящимся в архиве) или добавление записей для новых имен. За
Например, если foo.zip существует и содержит foo / file1 и foo / file2, иКаталог foo содержит файлы foo / file1 и foo / file3, затем:
zip -r foo.zip foo or more concisely zip -r foo foo
заменит foo / file1 в foo.zip и добавит foo / file3 в foo.zip. После этого, foo.zip содержит foo / file1, foo / file2 и foo / file3, с
foo / file2 без изменений по сравнению с предыдущим.
Попробуйте вместо этого разархивировать или ZIP-расширения для PHP http://php.net/manual/en/intro.zip.php
Других решений пока нет …