php生成zip文件类实例
本文实例讲述了php生成zip文件类。分享给大家供大家参考。具体如下:
<?php /* By:MattFord Purpose:Basicclasstocreatezipfiles */ classzipFile{ public$files=array(); public$settings=NULL; public$fileInfo=array( "name"=>"", "numFiles"=>0, "fullFilePath"=>"" ); private$fileHash=""; private$zip=""; publicfunction__construct($settings){ $this->zipFile($settings); } publicfunctionzipFile($settings){ $this->zip=newZipArchive(); $this->settings=newstdClass(); foreach($settingsas$k=>$v){ $this->settings->$k=$v; } } publicfunctioncreate(){ $this->fileHash=md5(implode(",",$this->files)); $this->fileInfo["name"]=$this->fileHash.".zip"; $this->fileInfo["numFiles"]=count($this->files); $this->fileInfo["fullFilePath"]=$this->settings->path. "/".$this->fileInfo["name"]; if(file_exists($this->fileInfo["fullFilePath"])){ returnarray( false, "alreadycreated:".$this->fileInfo["fullFilePath"] ); } else{ $this->zip->open($this->fileInfo["fullFilePath"],ZIPARCHIVE::CREATE); $this->addFiles(); $this->zip->close(); returnarray( true, "newfilecreated:".$this->fileInfo["fullFilePath"] ); } } privatefunctionaddFiles(){ foreach($this->filesas$k){ $this->zip->addFile($k,basename($k)); } } } $settings=array( "path"=>dirname(__FILE__) ); $zipFile=newzipFile($settings); $zipFile->files=array( "./images/navoff.jpg", "./images/navon.jpg" ); list($success,$error)=$zipFile->create(); if($success===true){ //success } else{ //errorbecause:$error } ?>
希望本文所述对大家的php程序设计有所帮助。