bash — обнаружение сбоя при распаковке exec-оболочки при переполнении стека

поэтому у меня есть этот код:

$destination = "/dest";
$filepath = 'filepath.zip';
$ret = shell_exec("unzip " . escapeshellarg($filepath) . " -d " . escapeshellarg($destination) . ";

У меня вопрос, как я могу достоверно узнать в PHP, была ли операция распаковки успешной или в результате возникла какая-то ошибка?

0

Решение

shell_exec вернет вывод unzip.

Добавление параметра -q для распаковки приведет к подавлению вывода, вы можете настроить подавление всех сообщений, кроме ошибок, и если $ret длина не равна 0, то операция не была успешно завершена.

unzip -tq archive.zip будет выводить только если архив в порядке или нет. Вы можете сначала запустить эту команду, проверить вывод в PHP и запустить извлечение в случае успеха.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]