0

誰かがここで何が起こっているのか教えてくれるでしょう:

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();

}

そのディレクトリ内のファイルは圧縮されません。

それから私は2つのエラーを受け取ります:

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

ファイルは移動されますが、圧縮されません。

4

1 に答える 1

2

フラグを create または overwrite として指定する必要があります。これは次の方法で実行できます。

$zip->open('static/downloads/'.$lastIdInsert."_".$attach, 
           ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
于 2012-10-20T16:48:10.933 に答える