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