Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ZipArchive::close返回false_Php_Zip - Fatal编程技术网

Php ZipArchive::close返回false

Php ZipArchive::close返回false,php,zip,Php,Zip,嗨,我正在尝试创建一个新的zip文件,我已经重新编译了PHP启用zip,这是我的代码 if($_SERVER['REQUEST_METHOD'] == "POST"){ $zip = new ZipArchive; if($zip->open("/home/user1joe/public_html/upload/test.zip",ZIPARCHIVE::CREATE)!= true) {

嗨,我正在尝试创建一个新的zip文件,我已经重新编译了PHP启用zip,这是我的代码

        if($_SERVER['REQUEST_METHOD'] == "POST"){ 
          $zip = new ZipArchive;     
          if($zip->open("/home/user1joe/public_html/upload/test.zip",ZIPARCHIVE::CREATE)!= true)  {
                 echo "error file did not up upload";
                 exit(0);
          }
          foreach ($_FILES["images"]["error"] as $key => $error) 
                  if ($error == UPLOAD_ERR_OK) {
                        $temp_name = $_FILES["images"]["tmp_name"][$key];
                        $new_name  = $_FILES['images']['name'][$key];
                        var_dump($temp_name);
                        var_dump($new_name); 

                        if(file_exists($temp_name)){
                              $zip->addFile($temp_name,$new_name);
                              move_uploaded_file($temp_name, "upload/".$new_name);
                        } else
                              echo "error file does not exist"; 

                        echo "numfiles: " . $zip->numFiles . "\n";
                        echo "status:" . $zip->status . "\n";
                  }
          $res = $zip->close();
          var_dump($res);
          }
$zip->close()返回false,未创建任何zip

  • 在这方面我没有错误
  • $zip->numFiles显示存档中有文件
  • 我要在其中创建zip的文件夹具有可写权限
我有点迷失了我还能测试什么,任何想法都会很棒

zip->close()方法执行一些处理(实际压缩,或只是获取/写入文件属性),这些处理要求添加到存档的文件存在。
但是,您正在使用move\u uploaded\u file()调用从原始位置删除输入文件。

您不应该在存档之前移动\u uploaded文件吗?
$zip->close()
返回false表示无法保存zip文件。您可能没有足够的权限在您尝试创建的位置创建文件。嘿,伙计们,抱歉,这有点混乱。move_upload只是为了测试我是否真的有权在我想要放置zip的相同位置创建文件。这些文件存储在$_files[“images”][“tmp_name”][$key]位置。但zip文件可能与move_上载的文件不在同一目录中。一条路径是相对路径,另一条路径是绝对路径,它们位于同一位置。我放弃了这个策略,使用了一个shell命令