PHP壓縮文件夾的方法
<pre>
public function addFileToZip($path, $zip)
{
$handler = opendir($path); //打開當前文件夾由$path指定。
while (($filename = readdir($handler)) !== false) {
if ($filename != "." && $filename != "..") {
//文件夾文件名字為'.'和‘..',不要對他們進行操作
if (is_dir($path . "/" . $filename)) {
// 如果讀取的某個對象是文件夾,則遞歸
$this->addFileToZip($path . "/" . $filename, $zip);
} else {
//將文件加入zip對象
$zip->addFile($path . "/" . $filename);
}
}
}
closedir($path);
}
public function testyasuo()
{
$zip = new \ZipArchive();
$xiangmupath = $this->getxiangmupath();
$filename = './moban/css.zip';
if ($zip->open($filename, \ZipArchive::OVERWRITE) === true) {
$zip->addFile('./moban/email.xlsx', 'email.xlsx');
$this->addFileToZip('./moban/css/', $zip);
$zip->close(); //關閉處理的zip文件
}
}
</pre>
ps:
1 這個PHP是自帶的不需要裝php_zip擴展模塊
2 如果沒有zip沒創建 如果有了就會覆蓋
3 創建好zip 一定要添加文件到zip 不然創建不了zip
4 路徑都用./這樣 解壓出來的文件夾就會按照他的來