疑难解答“zip_read()期望参数1为资源,给定整数”

时间:2011-10-27 22:06:02

标签: php

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

我遇到一个错误,关于zip_open的使用会导致后续错误zip_read() expects parameter 1 to be resource, integer given in file

文件存在(用file_exists()检查),可以从目录复制到另一个,目录是777,但zip_open失败(用is_resourse()检查)

这是在对新服务器上的现有应用程序进行deplyoing之后发生的。我检查了ZIP& ZLIB相对配置在两台服务器上都是相同的。

任何想法为什么zip_open会失败?

代码:

$zip = zip_open("/var/www/vhosts/server/web_users/user/archive.ZIP");
if (is_resource($zip))
{
  while ($zip_entry = zip_read($zip))
  {
    $fp = fopen("/var/www/vhosts/website/httpdocs/zip/".zip_entry_name($zip_entry), "w");
    if (zip_entry_open($zip, $zip_entry, "r"))
    {
      $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
      fwrite($fp,"$buf");
      zip_entry_close($zip_entry);
      fclose($fp);
    }
  }

  zip_close($zip);
}

1 个答案:

答案 0 :(得分:0)

您可以发布代码段吗?该错误告诉您传递给zip_read()的变量具有无效类型。你检查了传递给zip_read的值吗?