當前位置:首頁 » 編程語言 » php壓縮類

php壓縮類

發布時間: 2022-04-21 21:12:12

⑴ thinkphp中怎樣調用php自帶的壓縮解壓縮類

命名空間加上use ZipArchive;
下面直接實例化$zip = new ZipArchive;

⑵ cn.php.net下載的php壓縮包有三種類型,有什麼區別

php 5.x.xx zip package
壓縮包,需要自行配置,建議高級用戶使用

php 5.x.xx installer
安裝程序,建議一般用戶使用。

php 5.x.xx win32 debug pack
debug版本,懂編程的,並且希望對php做出改進的人,一般會選擇這個版本。

⑶ 如何在PHP中創建壓縮的RAR文件

$filename = "./" . date ( 'YmdH' ) . ".zip"; // 最終生成的文件名(含路徑)
// 生成文件
$zip = new ZipArchive (); // 使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋
if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
exit ( '無法打開文件,或者文件創建失敗' );
}

//$fileNameArr 就是一個存儲文件路徑的數組 比如 array('/a/1.jpg,/a/2.jpg....');

foreach ( $fileNameArr as $val ) {
$zip->addFile ( $val, basename ( $val ) ); // 第二個參數是放在壓縮包中的文件名稱,如果文件可能會有重復,就需要注意一下
}
$zip->close (); // 關閉

⑷ 怎樣用php壓縮解壓rar,zip文件

要用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 高手 解決在線壓縮問題~~~ 高分 高分 高分~~ PHP在線壓縮類~~ 急急急 急急急 ~~

<?php
class Zip{
/**
*@desc 生成zip壓縮文件
*@param $dir string 需要壓縮文件所在的文件夾名稱
*@param $filename string 壓縮後的zip文件名,需要有全路徑並包括zip後綴
*@return bool
*/
static public function zipDirAndFiles($dir, $filename)
{
$dir = str_replace('\\', '/', $dir);
$filename = str_replace('\\', '/', $filename);
if(!file_exists($dir) || !is_dir($dir)){
//exit('zip dir not exists: '.$dir);
return false;
}
if(strtolower(end(explode('.', $filename))) != 'zip'){
//exit('only Support zip files');
return false;
}
if(file_exists($filename)){
//exit('the zip file '.$filename.' has exists!');
return false;
}

$files = array(); self::getZipDirFiles($dir, $files);
if(empty($files)){
//exit('the dir:'.$dir.' is empty!');
return false;
}

$zip = new ZipArchive; $res = $zip->open($filename, ZipArchive::CREATE);
if($res === TRUE) {
foreach($files as $v){
$zip->addFile($v, str_replace($dir.'/', '', $v));
}
$zip->close();
//exit('zip ok......');
return true;
}else{
//exit('zip failed......');
return false;
}
}

/** *@desc 生成zip壓縮文件的輔助函數(迭代讀取目錄中的文件名)
*@param $dir string 文件夾名稱
*@param $files string 文件名稱數組
*@return bool
*/
static function getZipDirFiles($dir, &$files=array())
{
if(!file_exists($dir) || !is_dir($dir)){
return false;
}
if(substr($dir, -1) == '/'){
$dir = substr($dir, 0, strlen($dir) - 1);
}
$_files = scandir($dir);
foreach($_files as $v){
if($v != '.' && $v != '..'){
if(is_dir($dir.'/'.$v)){
self::getZipDirFiles($dir.'/'.$v, $files);
}else{
$files[] = $dir.'/'.$v;
}
}
}
return true;
}

}
$zip_dir = '/site/www/zipfiles'; //存放准備壓縮文件的文件夾,切記不要加最後的'/'$zip_filename = "/site/www/newzipfile.zip";
if(!Zip::zipDirAndFiles($zip_dir, $zip_filename)) {
echo "壓縮文件時出錯!";
}else{
echo "恭喜,壓縮成功!";
}

⑹ php如何壓縮一個文件夾裡面所有的文件到zip文件裡面

//函數:文件壓縮 //壓縮參數:需要壓縮的文件或文件夾(文件可為數組),壓縮後的zip文件名及存放路徑,壓縮類型1:文件夾2:文件,後續操作1:壓縮後下載;2:存放在伺服器上(默認為/@Upload下) //壓縮文件夾示例:Tozip("./","../".date("d-H-i-s").".zip",1,2); //壓縮文件示例: // $aaa=array("../1.txt","../2.txt"); // Tozip($aaa,"../2.zip",2);FunctionTozip($Path, $ZipFile, $Typ=1, $Todo=1){//IF(!is_writeable($Path)){Exit("文件夾不可寫!");}$Path=Str_iReplace("\\","/",($Path));IF(Is_Null($Path) OrEmpty($Path) Or!IsSet($Path)){ReturnFalse;}IF(Is_Null($ZipFile) OrEmpty($ZipFile) Or!IsSet($ZipFile)){ReturnFalse;} Include_once("inc/Class_Zip.php");$zip=NewPHPZip;IF(SubStr($Path,-1,1)=="/"){$Path=SubStr($Path,0, StrLen($Path)-1);} OB_end_clean();Switch($Typ){Case"1":$zip-ZipDir($Path, $ZipFile, $Todo);Break;Case"2":$zip-ZipFile($Path,

⑺ php 壓縮文件夾

php將文件夾打包成zip文件,參考代碼如下:

functionaddFileToZip($path,$zip){
$handler=opendir($path);//打開當前文件夾由$path指定。
while(($filename=readdir($handler))!==false){
if($filename!="."&&$filename!=".."){//文件夾文件名字為'.'和『..』,不要對他們進行操作
if(is_dir($path."/".$filename)){//如果讀取的某個對象是文件夾,則遞歸
addFileToZip($path."/".$filename,$zip);
}else{//將文件加入zip對象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}

$zip=newZipArchive();
if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){
addFileToZip('images/',$zip);//調用方法,對要打包的根目錄進行操作,並將ZipArchive的對象傳遞給方法
$zip->close();//關閉處理的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使用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環境部署 發布:2025-01-26 15:28:09 瀏覽:17
python實現svm 發布:2025-01-26 15:24:25 瀏覽:381
易語言寫ip全局代理伺服器 發布:2025-01-26 15:04:01 瀏覽:668
gm命令在哪個文件夾 發布:2025-01-26 15:03:12 瀏覽:307
javadate類 發布:2025-01-26 14:58:54 瀏覽:352
領航s1配置怎麼樣 發布:2025-01-26 09:58:10 瀏覽:763
公司區域網搭建伺服器搭建 發布:2025-01-26 09:16:56 瀏覽:433
android裁剪圓形圖片 發布:2025-01-26 09:05:56 瀏覽:411
小貸源碼 發布:2025-01-26 08:20:58 瀏覽:536
更換電腦名登錄伺服器 發布:2025-01-26 07:56:52 瀏覽:240