使用虛擬主機進行文件上傳時最常用的工具莫過於FTP了,但是使用FTP有一個弊端就是文件太多時上傳或下載速度比較慢,如果上傳時將文件打包,上傳后在 空間解壓縮,同樣下載前將文件打包壓縮以壓縮包的形式下載,這樣速度就快多了。其實PHP就可以做到這一點,將文件壓縮成zip格式並且可以解壓縮。我使 用了很多發現最好用的還是pclzip,pclzip可以將文件或文件夾壓縮成zip格式的壓縮文件。下面給出幾個例子:
壓縮文件:
<?php
require_once('pclzip.lib.php');
$zip = new PclZip('./test.zip'); //生成壓縮文件的路徑
$arr = array(
'./a',
'./b.txt',
'./x'
);
$v_list = $zip->add($arr);
if ($v_list == 0) {
die("Error : ".$archive->errorInfo(true));
}else{
echo 'success';
}
?>
上面代碼中add方法表示添加文件或文件夾,參數是一個文件列表,可以是數組的形式。
如果要壓縮一個文件夾還可以使用create方法。
解壓文件:
- <?php
- require_once('pclzip.lib.php');
- $zip = new PclZip('./test.zip');//壓縮文件的路徑
- if ($zip->extract(PCLZIP_OPT_PATH, './outpath') == 0) {
- die("Error : ".$archive->errorInfo(true));
- }else{
- echo 'extract success';
- }
- ?>