exec ('unzip gallery.zip', $ return); PHP - PullRequest
3 голосов
/ 02 июня 2010

Может кто-нибудь, пожалуйста, дайте мне знать, почему я не могу получить результат для функции PHP

exec('unzip gallery.zip',$return);
print_r($return);

Ответы [ 3 ]

5 голосов
/ 02 июня 2010

Вы проверяли возвращаемое значение из распакованного файла? Сообщения об ошибках не выдаются в стандартном потоке вывода, поэтому массив будет пустым, если что-то произойдет.

<?php
    $result = array();
    exec("unzip archiv.zip", $result, $returnval);
    print_r($result);
    print_r($returnval);
?>

Распаковка работает как положено? Может потребоваться перезапись и т. Д., Если файлы уже существуют, и остановить рабочий процесс. Этот вывод не будет записан в результате.

0 голосов
/ 05 июня 2010

Ошибки записываются в stderr и не отображаются при использовании функций exec, backticks или shell_exec.

passthru () выводит поток ошибок (а также стандартный вывод).

Ps: вероятно, либо:

Файл не найден: Существует ли gallery.zip в cwd . Используйте абсолютные пути и escapeshellarg () , чтобы быть уверенным.

или

Права на файл: Разрешено ли php записывать извлеченные файлы в cwd или в указанный целевой путь?

0 голосов
/ 02 июня 2010

Вы инициализировали переменную $return перед использованием?

Установили ли вы пакет unzip, если вы используете Unix или Linux? (Я не уверен, что вы можете сделать это в Windows)

...