5

谁能告诉我,为什么我无法获得 php 函数的结果

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

3 回答 3

6

您是否检查了解压缩的返回值?标准输出流上没有给出错误消息,因此如果出现故障,数组将为空。

<?php
    $result = array();
    exec("unzip archiv.zip", $result, $returnval);
    print_r($result);
    print_r($returnval);
?>

解压缩是否按预期工作?如果文件已经存在并停止工作流,它可能会要求覆盖等。此输出不会被捕获在结果中。

于 2010-06-02T11:14:33.830 回答
0

使用前是否初始化了变量$return

unzip如果您运行的是 Unix 或 Linux,您是否安装了软件包?(我不确定你可以在 Windows 上做到这一点)

于 2010-06-02T09:34:26.353 回答
0

错误被写入 stderr 并且在使用 exec、反引号或 shell_exec 函数时不显示。

passthru()确实输出错误流(以及标准输出)。

Ps:它可能是:

找不到文件:是否gallery.zip存在于cwd 中。请务必使用绝对路径和escapeshellarg()

或者

文件权限:是否允许php将提取的文件写入cwd或指定的目标路径?

于 2010-06-05T12:37:04.987 回答