This article mainly introduces the PHP generated zip file class, example analysis of PHP operation zip file skills, very practical value, the need for friends can refer to the next
This example describes the PHP generated zip file class. Share to everyone for your reference. Specific as follows:
<?php/* By:matt Ford Purpose:basic class to create Zipfiles */class zipfile {public $files = array (), public $s ettings = NULL; Public $fileInfo = Array ("name" = "", "numfiles" = = 0, "Fullfilepath" and "" "); Private $fileHash = ""; Private $zip = ""; Public function construct ($settings) {$this->zipfile ($settings),} public Function ZipFile ($settings) {$this->zi p = new Ziparchive (); $this->settings = new StdClass (); foreach ($settings as $k = + $v) {$this->settings-> $k = $v; }} public Function Create () {$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")) {return Array (false, "already created:". $this->fileinfo["Fullfilepath"]); }else {$this->zip->open ($this->fileinfo["Fullfilepath"], ziparchive::create); $this->addfiles (); $this->zip->close (); Return Array (True, "new file created:".) $this->fileinfo["Fullfilepath"]); }} Private Function AddFiles () {foreach ($this->files as $k) {$this->zip->addfile ($k, basename ($k)); }}} $settings = Array ("Path" = DirName (FILE)), $zipFile = new ZipFile ($settings); $zipFile->files = Array ("./I Mages/navoff.jpg ","./images/navon.jpg "), List ($success, $error) = $zipFile->create (); if ($success = = = True) {//SUCC Ess}else {//error because: $error}?>