user895171
user895171

Reputation:

PHP file zipping with native library

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.

Upvotes: 0

Views: 192

Answers (1)

Faruk Sahin
Faruk Sahin

Reputation: 8726

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

$zip->open('static/downloads/'.$lastIdInsert."_".$attach, 
           ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);

Upvotes: 2

Related Questions