谁能告诉我,为什么我无法获得 php 函数的结果
exec('unzip gallery.zip',$return);
print_r($return);
您是否检查了解压缩的返回值?标准输出流上没有给出错误消息,因此如果出现故障,数组将为空。
<?php
$result = array();
exec("unzip archiv.zip", $result, $returnval);
print_r($result);
print_r($returnval);
?>
解压缩是否按预期工作?如果文件已经存在并停止工作流,它可能会要求覆盖等。此输出不会被捕获在结果中。
使用前是否初始化了变量$return
?
unzip
如果您运行的是 Unix 或 Linux,您是否安装了软件包?(我不确定你可以在 Windows 上做到这一点)
错误被写入 stderr 并且在使用 exec、反引号或 shell_exec 函数时不显示。
passthru()确实输出错误流(以及标准输出)。
Ps:它可能是:
找不到文件:是否gallery.zip
存在于cwd 中。请务必使用绝对路径和escapeshellarg()。
或者
文件权限:是否允许php将提取的文件写入cwd或指定的目标路径?