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

时间:2010-06-02 09:32:18

标签: php unzip

任何人都可以告诉我,为什么我无法获得php函数的结果

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

3 个答案:

答案 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或指定的目标路径?