php Zip拡張
1386 ワード
phpでファイルをzip形式に圧縮するにはphpの
バージョン要件
PHP >= 5.2.0
≪インスタンス|Instance|emdw≫
zip
拡張を使用して実現することができる.バージョン要件
PHP >= 5.2.0
≪インスタンス|Instance|emdw≫
/**
* @apiDescription zip
* @param $saveDir
* @param $zipName
*/
protected function packToZip($saveDir, $zipName)
{
// ?
if(file_exists($zipName)) {
unlink($zipName);
}
$zip = new \ZipArchive();
if($zip->open($zipName, \ZipArchive::CREATE) === TRUE) {
$this->addFileToZip($saveDir, $zip,$saveDir); // , , ZipArchive
$zip->close(); // zip
}
return ;
}
/**
* @apiDescription zip
* @param $path
* @param $zip zip
*/
protected function addFileToZip($path, $zip){
$handler = opendir($path);
while(($filename = readdir($handler)) !== false) {
if($filename != "." && $filename != "..") { // '.' ‘..’,
if(is_dir($path . $filename)) { // ,
self::addFileToZip($path . $filename . DS, $zip);
} else { // zip
$zip->addFile($path.$filename);
}
}
}
@closedir($handler);
return ;
}