dongmen9517 2012-10-20 16:43
浏览 55
已采纳

PHP文件与本机库压缩

someone would tell me what is going on here:

if($attach and $attachTemp){

  move_uploaded_file($attachTemp,'static/downloads/'.$lastIdInsert."_".$attach);

  $dataAttach['attach'] = $lastIdInsert."_".$attach;
  $updateAttach = $this->model_schemas->update($lastIdInsert,$data=array('download'=>'1'));
  /*ZIP IT*/
  $zip = new ZipArchive();
  $zip->open('static/downloads/'.$lastIdInsert."_".$attach);
  $zip->addFile('static/downloads/'.$lastIdInsert."_".$attach,$lastIdInsert.".zip");

  $zip->close();

}

It doesn't zips the files in that directory.

Then i receive2 errors:

Message: ZipArchive::addFile() [ziparchive.addfile]: Invalid or unitialized Zip object
Message: ZipArchive::close() [ziparchive.close]: Invalid or unitialized Zip object

files are moved but not zipped.

  • 写回答

1条回答 默认 最新

  • duandaoji3992 2012-10-20 16:48
    关注

    You must specify the flags as create or overwrite. You can do this by;

    $zip->open('static/downloads/'.$lastIdInsert."_".$attach, 
               ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?