国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP 實現文件壓縮解壓操作的方法

2024-05-05 00:09:39
字體:
來源:轉載
供稿:網友

在php中,有時我們需要使用到壓縮文件操作,壓縮文件可以節省磁盤空間;且壓縮文件更小,便于網絡傳輸,效率高,下面我們就來了解php的壓縮解壓相關操作

在PHP中有一個ZipArchive類,專門用于文件的壓縮解壓相關操作

在ZipArchive類中主要使用到了如下方法:

1:open(打開一個壓縮包文件)

$zip = new /ZipArchive;$zip->open('test_new.zip', /ZipArchive::CREATE)

第一個參數:要打開的壓縮包文件

第二個參數:

ZIPARCHIVE::OVERWRITE 總是創建一個新的文件,如果指定的zip文件存在,則會覆蓋掉

ZIPARCHIVE::CREATE 如果指定的zip文件不存在,則新建一個

ZIPARCHIVE::EXCL 如果指定的zip文件存在,則會報錯

ZIPARCHIVE::CHECKCONS 對指定的zip執行其他一致性測試

2:addFile(將指定文件添加到壓縮包中)

//將test.txt文件添加到壓縮包中$zip->addFile('test.txt'); //第二個參數可對文件進行重命名

3:addEmptyDir (將指定空目錄添加到壓縮包中)

//將一個空的目錄添加到zip中 $zip->addEmptyDir ('newdir');

4:addFromString(將指定內容的文件添加到壓縮包)

// 將有指定內容的new.txt文件添加到zip文件中$zip->addFromString('new.txt', '要添加到new.txt文件中的文本');

5:extractTO(將壓縮包解壓到指定目錄)

 $zip->extractTo('test');

6:getNameIndex(根據索引返回文件名稱)

$zip->getNameIndex(0);//返回壓縮包中索引為0的文件名稱

7:getStream(根據壓縮內的文件名稱,獲取該文件的文本流)

$zip->getStream('hello.txt');

8:renameIndex(根據壓縮文件內的索引(從0開始)修改壓縮文件內的文件名)

/把壓縮文件內第一個文件修改成newname.txt $zip->renameIndex(0,'newname.txt');

9:renameName(根據壓縮文件內的文件名,修改壓縮文件內的文件名)

//把壓縮文件內的word.txt修改成newword.txt $zip->renameName('word.txt','newword.txt');

10:deleteIndex (根據壓縮文件內的索引刪除壓縮文件內的文件)

/把壓縮文件內第一個文件刪除 $zip->deleteIndex (0);

11:deleteName(根據壓縮文件內的文件名刪除文件)

//把壓縮文件內的word.txt刪除$zip->deleteName('word.txt');

上面就是ZipArchive的一些常用方法,下面來一些簡單示例

一:創建一個壓縮包

$zip = new /ZipArchive;if ($zip->open('test_new.zip', /ZipArchive::CREATE) === true){  // 將指定文件添加到zip中  $zip->addFile('test.txt');    // test.txt文件添加到zip并將其重命名為newfile.txt  $zip->addFile('test.txt', 'newfile.txt');    // 將test.txt文件添加到zip文件中的test文件夾內  $zip->addFile('test.txt', 'test/newfile.txt');    //將一個空的目錄添加到zip中  $zip->addEmptyDir ('test');    // 將有指定內容的new.txt文件添加到zip文件中  $zip->addFromString('new.txt', '要添加到new.txt文件中的文本');    // 將有指定內容的new.txt添加到zip文件中的test文件夾  $zip->addFromString('test/new.txt', '要添加到new.txt文件中的文本');    //將images目錄下所有文件添加到zip中   if ($handle = opendir('images')){     // 添加目錄中的所有文件     while (false !== ($entry = readdir($handle))){        if ($entry != "." && $entry != ".." && !is_dir('images/' . $entry)){            $zip->addFile('images/' . $entry);        }     }     closedir($handle);   }    // 關閉zip文件  $zip->close();}

二:獲取壓縮包的文件信息并解壓指定壓縮包

$zip = new /ZipArchive;if ($zip->open('test_new.zip') === true) {  //獲取索引為0的文件名稱  var_dump($zip->getNameIndex(0));    //將壓縮包文件解壓到test目錄下  $zip->extractTo('test');    //獲取壓縮包指定文件的文本流  $stream = $zip->getStream('test.txt');    // 關閉zip文件  $zip->close();  $str = stream_get_contents($stream); //這里注意獲取到的文本編碼  var_dump($str);}

三:修改壓縮包內指定文件的文件名稱及刪除壓縮包內指定文件

$zip = new /ZipArchive;if ($zip->open('test_new.zip') === true) {  //把壓縮文件內索引為0的文件修改成newname.txt  $zip->renameIndex(0,'newname.txt');  //把壓縮文件內的new.txt修改成newword.txt  $zip->renameName('new.txt','newword.txt');  //刪除壓縮文件內索引為0的文件  $zip->deleteIndex(0);  //刪除壓縮文件的test.png  $zip->deleteName('test.png');  // 關閉zip文件  $zip->close();}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 大足县| 云龙县| 迭部县| 固镇县| 张掖市| 商洛市| 弥渡县| 庄浪县| 博野县| 灯塔市| 碌曲县| 临洮县| 七台河市| 洪泽县| 中西区| 平舆县| 涞水县| 武陟县| 台中县| 陆川县| 海林市| 渝中区| 象山县| 嘉鱼县| 青川县| 西安市| SHOW| 潞城市| 宣化县| 富川| 株洲县| 公安县| 阳泉市| 浠水县| 江华| 丰宁| 麟游县| 宁陕县| 湘潭市| 阜宁县| 大化|