在 PHP 上检测到 shell exec unzip 失败

Detect failure of shell exec unzip on PHP

所以我有这个代码:

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

我的问题是,我如何在 PHP 中可靠地知道解压缩操作是否成功或最终是否遇到了一些错误?

shell_exec 将 return 解压缩的输出。

在解压中添加-q参数将抑制输出,您可以设置抑制除错误之外的所有消息,如果$ret长度不等于0则操作未成功完成。

unzip -tq archive.zip只会输出存档是否OK。您可以先运行这个命令,检查PHP中的输出,然后运行提取是否成功。