1.php File Compression Code:
$zip = new Ziparchive;
if ($zip->open (' Aaa.zip ', ziparchive::overwrite) ===true) {//aaa.zip to compress into a ZIP file name
$zip->addfile (' c:/wamp/www/test_demo/phpunzip/aaa.txt '); A scarf that needs compression.
$zip->close ();
echo ' OK ';
} else {
Echo ' failed ';
}
2. Unzip
$zip =new ziparchive;//to create a new Ziparchive object
if ($zip->open (' Test.zip ') ===true) {
$zip->extractto (' images ');//Assume decompression to the images folder under the current path
$zip->close ();//Close the processed zip file
}
3. append files to compressed files
$zip =new ziparchive;
$res = $zip->open (' Test.zip ', ziparchive::create);
if ($res ===true) {
$zip->addfromstring (' test.txt ', ' file content goes here ');
$zip->close ();
echo ' OK ';
}else{
Echo ' failed ';
}
4. folder compressed into zip file
function Addfiletozip ($path, $zip) {
$handler =opendir ($path); Opens the current folder specified by $path.
while (($filename =readdir ($handler))!==false) {
if ($filename! = "." && $filename! = "...") {//Folder file name is '. ' and '. ', do not operate on them
if (Is_dir ($path. " /". $filename)) {//If an object read is a folder, the recursive
Addfiletozip ($path. " /". $filename, $zip);
}else{//Adding files to a Zip object
$zip->addfile ($path. " /". $filename);
}
}
}
@closedir ($path);
}
$zip =new ziparchive ();
if ($zip->open (' Images.zip ', ziparchive::overwrite) = = = TRUE) {
Addfiletozip (' images/', $zip); Invokes the method, operates on the root directory to be packaged, and passes the Ziparchive object to the method
$zip->close (); Close the processed zip file
}
PHP file compression