note 109567 deleted from ref.zip by danbrown

From: Date: Mon, 30 Jul 2012 15:47:28 +0000
Subject: note 109567 deleted from ref.zip by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-189475@lists.php.net to get a copy of this message
Note Submitter: Junsee dot WebDesigner at gmail dot com ---- Without stepping on toes... Beautiful code supplied by shadowbranch, all credit to him, just one slight admendment. Now allows the files not in a folder, in the zip file, to also be extracted. <?php function unzip($file){ $zip = zip_open($file); if(is_resource($zip)){ $tree = ""; while(($zip_entry = zip_read($zip)) !== false){ echo "Unpacking ".zip_entry_name($zip_entry)."\n"; if(strpos(zip_entry_name($zip_entry), DIRECTORY_SEPARATOR) !== false){ $last = strrpos(zip_entry_name($zip_entry), DIRECTORY_SEPARATOR); $dir = substr(zip_entry_name($zip_entry), 0, $last); $file = substr(zip_entry_name($zip_entry), strrpos(zip_entry_name($zip_entry), DIRECTORY_SEPARATOR)+1); if(!is_dir($dir)){ @mkdir($dir, 0755, true) or die("Unable to create $dir\n"); } if(strlen(trim($file)) > 0){ $return = @file_put_contents($dir."/".$file, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry))); if($return === false){ die("Unable to write file $dir/$file\n"); } } }else{ $file = substr( zip_entry_name($zip_entry), strrpos(zip_entry_name($zip_entry)) ); file_put_contents($file, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry))); } } }else{ echo "Unable to open zip file\n"; } } ?>

« previous php.notes (#189475) next »