php實(shí)現(xiàn)批量壓縮下載的方法:【<?php $filename='test.zip'; if(file_exists($filename)){unlink($filename);} $zip=new ZipArchive(); …】。
本文操作環(huán)境:windows10系統(tǒng)、php 7、thinkpad t480電腦。
在php中我們可以借助于ZipArchive類來(lái)實(shí)現(xiàn)將文件批量壓縮打包下載。
注意:
使用該類之前,linux需開啟zlib,windows需取消php_zip.dll前的注釋。
下面直接給出一個(gè)簡(jiǎn)單的將文件壓縮為 zip 格式的示例。
<?php $filename='test.zip'; //最終生成的文件名(含路徑) if(file_exists($filename)){ unlink($filename); } //重新生成文件 $zip=new ZipArchive(); if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){ exit('無(wú)法打開文件,或者文件創(chuàng)建失敗'); } $datalist=array('try.php','zip_class.php'); foreach($datalist as $val){ if(file_exists($val)){ $zip->addFile($val); } } $zip->close();//關(guān)閉 if(!file_exists($filename)){ exit('無(wú)法找到文件'); //即使創(chuàng)建,仍有可能失敗 }
備注:
//向壓縮包中添加文件(addFile的第二參數(shù)表示,替換的名稱,若不寫則按照前面的命名,當(dāng)然如果是帶目錄,在壓縮包中也會(huì)生成一個(gè)文件夾) $zip->addFile("./down.php","testfromfile.php"); $zip->addFile('img/images-3.jpg','new.jpg'); echo "numfiles: " . $zip->numFiles . "n"; echo "status:" . $zip->status . "n";
推薦學(xué)習(xí):php培訓(xùn)