php 將文件壓縮為zip文件
PHP ZipArchive 是PHP自帶的擴展類,可以輕松實現ZIP文件的壓縮和解壓,使用前首先要確保PHP ZIP 擴展已經開啟。
<?php/* 說明: 將多個文件壓縮成一個zip文件的函數
- @param $files 數組類型
- @param destination 目標文件的路徑
- @param $overwrite 是否為覆蓋與目標文件相同的文件 */
function create_zip($files = array(),$destination = '',$overwrite = false){
//如果zip文件已經存在并且設置為不重寫返回false
if(file_exists($destination) && !$overwrite) { return false; }
$valid_files = array();
//獲取到真實有效的文件名
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
//如果存在真實有效的文件
if(count($valid_files)) {
$zip = new ZipArchive();
//打開文件 如果文件已經存在則覆蓋,如果沒有則創建
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; }
//向壓縮文件中添加文件
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
//關閉文件
$zip->close();
//檢測文件是否存在
return file_exists($destination);
}else{
return false;
}
}
$files = array('tg.php');
create_zip($files,'tg.zip', true);
?></pre>