要用PHP壓縮解壓文件,常用的方法是調用命令行去執行解壓縮操作
可以用exec() 、system()等函數調用shell命令
linux下解壓縮命令是tar [-cxtzjvfpPN] 文件與目錄,tar命令可以壓縮解壓.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip這些類型的文件
Linux下默認無法使用rar格式的,要另外安裝RAR for Linux,然後使用rar和unrar命令解壓縮rar格式的壓縮文件
Ⅱ php使用pclzip類實現文件壓縮的方法(附pclzip類下載地址)
本文實例講述了php使用pclzip類實現文件壓縮的方法。分享給大家供大家參考,具體如下:
使用PclZIp(zip格式)壓縮,首先需要下載它的包文件(可點擊此處本站下載)。PclZip功能還是蠻強大的,它可以進行壓縮和解壓,以及一些添加和刪除的類的方法等等。當然了這些內容我們都可以在網上查找的到,沒必要都得記住。我們只要在需要使用的時候自己可以很快的在網上找到使用方法就可以了。首先我們需要的就是要將下載的庫文件進行引入,如
<?php
include('pclzip/pclzip.lib.php');
?>
//括弧裡面的地址改成自己的pclzip.lib.php
文件所在地址,
//它的所有的功能都在pclzip.lib.php裡面
引入之後我們就可以進行使用了,下面是我使用時簡單寫的一個方法。
<?php
$zipname
=
"test.zip";
//壓縮包的名稱
$zipnames
=
'/zipfiles/'.$zipname;
//壓縮包所在路徑
$z
=
new
PclZip($zipnames);
//實例化這個PclZip類
$v_list
=
$z->create('file.txt,data/text.txt,folder');
//將文件進行壓縮
if
($v_list
==
0)
{
die("Error
:
".$archive->errorInfo(true));
//如果有誤,提示錯誤信息。
}
?>
這個一個簡單的zip壓縮就做好了,在這個方法中我們主要就是使用了PclZip裡面的PclZip類以及它裡面創建壓縮包的方法create。從上面的例子我們可以看到下面這個內容
<?php
PclZip($zip_filename);
?>
//裡面是該壓縮包的名稱以及所在路徑。並不是把名稱寫上就可以了。
//如果路徑不對是無法找到的。
<?php
PclZip::create($filelist,
[optional
arguments]);
?>
//create方法來創建壓縮包。
//$filelist可以用數組包含文件的名稱和文件夾名稱或者是一個字元串來包含.
//如果是多個文件的話可以用逗號來隔開,如上面的例子。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP操作zip文件及壓縮技巧總結》、《php文件操作總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
Ⅲ php如何實現兩個文件先壓縮成一個壓縮包然後下載
$filename="./".date('YmdH').".zip";//最終生成的文件名(含路徑)
//生成文件
$zip=newZipArchive();//使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){
exit('無法打開文件,或者文件創建失敗');
}
//$fileNameArr就是一個存儲文件路徑的數組比如array('/a/1.jpg,/a/2.jpg....');
foreach($fileNameArras$val){
$zip->addFile($val,basename($val));//第二個參數是放在壓縮包中的文件名稱,如果文件可能會有重復,就需要注意一下
}
$zip->close();//關閉
//下面是輸出下載;
header("Cache-Control:max-age=0");
header("Content-Description:FileTransfer");
header('Content-disposition:attachment;filename='.basename($filename));//文件名
header("Content-Type:application/zip");//zip格式的
header("Content-Transfer-Encoding:binary");//告訴瀏覽器,這是二進制文件
header('Content-Length:'.filesize($filename));//告訴瀏覽器,文件大小
@readfile($filename);//輸出文件;
Ⅳ PHP網頁上打包文件生成壓縮文件zip,並彈出下載
既然你只是想學習如何打包.
那我重點就回答你這一塊,正好我剛剛用到;
$filename="./".date('YmdH').".zip";//最終生成的文件名(含路徑)
//生成文件
$zip=newZipArchive();//使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){
exit('無法打開文件,或者文件創建失敗');
}
//$fileNameArr就是一個存儲文件路徑的數組比如array('/a/1.jpg,/a/2.jpg....');
foreach($fileNameArras$val){
$zip->addFile($val,basename($val));//第二個參數是放在壓縮包中的文件名稱,如果文件可能會有重復,就需要注意一下
}
$zip->close();//關閉
//下面是輸出下載;
header("Cache-Control:max-age=0");
header("Content-Description:FileTransfer");
header('Content-disposition:attachment;filename='.basename($filename));//文件名
header("Content-Type:application/zip");//zip格式的
header("Content-Transfer-Encoding:binary");//告訴瀏覽器,這是二進制文件
header('Content-Length:'.filesize($filename));//告訴瀏覽器,文件大小
@readfile($filename);//輸出文件;
Ⅳ PHP下載zip文件到本地並解壓
下載用socket,或者開了allow_url_fopen 直接用file
解壓zip用自帶的zip庫即可
之前寫過的一個php的離線下載 http://www.ifuns.cn/_test/download.html
zip解壓看手冊,就那幾個函數
Ⅵ 求php壓縮解壓rar和zip類源碼
不用寫,rar演算法是有專利權的
RAR壓縮演算法是RARLab的專利,其它軟體要使用或自己實現RAR演算法的實作,都是要向RARLab申請許可或交錢的
zip演算法php有自帶的函數
====>
需求
PHP 4
The bundled PHP 4 version requires » ZZIPlib, by Guido Draheim, version 0.10.6 or later
PHP 5.2.0 or later
This extension uses the functions of » zlib by Jean-loup Gailly and Mark Adler.
=====>
所以用RAR只有通過命令行調用已經安裝的rar程序實現打包,效果是一樣的.具體調用方法參考各自軟體說明.winrar也能用命令行調用,請看http://ke..com/view/2345.htm
Ⅶ 我用迅雷下的壓縮文件包總帶php格式是是怎麼回事
這是迅雷軟體的問題。出現這種情況,就不用迅雷了。右鍵選中要下載的鏈接另存為就可以下下來了。
Ⅷ php-5.2.0-Win32.zip下載地址
http://php.net/downloads.php 裡面有很多版本
Ⅸ PHP在線解壓縮軟體是什麼
終於找到幾款好用的php在線解壓縮工具了!
如果你的空間不是通過cPanel管理的,那麼強力推薦你使用,特別是國內用戶。
要解決的問題:
XOOPS程序以及mole的文件通常都很多,一個小站點都有好幾千個文件,這種情況下,無論是安裝還是備份網站,如果用FTP一個個上傳、下載文件,即使你的空間速度很快,還是要花很長時間!!
解決思路:
把文件壓縮成一兩個壓縮包,再上傳、下載就能大大節約時間。
上傳(安裝):在本地先把文件壓縮為一兩個壓縮包,接著用FTP上傳,最後用在線解壓工具解壓。
下載(備份):先用在線解壓工具壓縮為一兩個壓縮包,接著下載,最後在本地解壓。
Ⅹ 我用迅雷下載壓縮文件,變成php格式了,怎麼辦
不要用迅雷下載,把迅雷的監視關掉,用IE自帶的下載