| <? Php /* By: Matt Ford Purpose: Basic class to create zipfiles */ Class zipFile { Public $ files = array (); Public $ settings = NULL; Public $ fileInfo = array ( "Name" => "", "NumFiles" => 0, "FullFilePath" => "" ); Private $ fileHash = ""; Private $ zip = ""; Public function _ construct ($ settings ){ $ This-> zipFile ($ settings ); } Public function zipFile ($ settings ){ $ This-> zip = 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 ( "./Images/navoff.jpg ", "./Images/navon.jpg" ); List ($ success, $ error) = $ zipFile-> create (); If ($ success === true ){ // Success } Else { // Error because: $ error } ?> |