为什么PHP的zip_read()返回false?

时间:2014-01-19 14:37:52

标签: php zip

为什么PHP的zip_read()返回false?我之前使用过相同的脚本,它返回true。

$zip = zip_open("/tmp/ayb/test.zip");
if(is_resource($zip))
{
    $zip_read=zip_read($zip);
    echo($zip_read?'true':'false');
}

3 个答案:

答案 0 :(得分:1)

脚本不会毫无理由地神奇地反转他们的行为。你换了东西。你做错了什么。不要责怪剧本。 ZIP已损坏,或者它是一个不同的ZIP,或者它已经不存在了。

relevant manual page告诉我们:

  

返回目录条目资源,以便以后与zip_entry_ ...函数一起使用,如果没有其他条目可供阅读,则 FALSE ,或者错误代码,如果发生错误。

请注意,这意味着您应该测试$zip_read,而不仅仅是基本的真实性。您应该仔细检查它的精确值,并从那里进行调试。

答案 1 :(得分:0)

尝试使用普通的压缩方式压缩zip存档。并检查是否有密码或没有密码。然后转储价值:

var_dump($zip_read);

答案 2 :(得分:0)

zip文件为空。

这是正确答案。