2010-06-02 63 views
3

任何一个可以请让我知道,我为什么不能得到结果的PHP函数

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

$ return是一个数组 – 2010-06-02 09:34:09

回答

5

你检查了解压缩的返回值吗?在标准输出流上没有提供错误消息,所以如果失败,数组将为空。

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

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

0

你初始化使用前变量$return

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

+0

嗨,我需要在php.ini中启用任何推荐吗? – 2010-06-02 09:39:31

0

将错误写入stderr,并且在使用exec,backticks或shell_exec函数时不显示。

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

PS:它大概之一:未找到

文件:是否存在gallery.zipcwd。使用绝对路径和escapeshellarg() te肯定。

文件权限: PHP是允许将提取出的文件到CWD或指定TARGETPATH?