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

首頁(yè) > 編程 > PHP > 正文

如何使用PHP創(chuàng)建zip壓縮文件

2020-03-22 19:29:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
使用壓縮文件可以節(jié)省磁盤空間;且壓縮文件更小,便于網(wǎng)絡(luò)傳輸,效率高。本篇文章給大家介紹使用PHP創(chuàng)建zip壓縮文件的方法,希望對(duì)大家有所幫助。

在PHP中有一個(gè)ZipArchive類,可以很容易地用來(lái)創(chuàng)建zip文件。下面通過示例來(lái)介紹如何在PHP中創(chuàng)建zip文件。【視頻教程推薦:PHP教程】

創(chuàng)建一個(gè)新的zip文件

以下代碼將創(chuàng)建一個(gè)新的zip文件(test_new.zip)并向其中添加一些文件。

 ?php$zip = new ZipArchive;if ($zip- open( test_new.zip , ZipArchive::CREATE) === TRUE) // 將文件添加到zip文件 $zip- addFile( test.txt  $zip- addFile( test.pdf  // 將random.txt文件添加到zip并將其重命名為newfile.txt $zip- addFile( random.txt , newfile.txt  // 將有指定文本的new.txt文件添加到zip文件中 $zip- addFromString( new.txt , 要添加到new.txt文件中的文本  // 關(guān)閉zip文件 $zip- close();? 

2.jpg

代碼說明:

第2行:創(chuàng)建ZipArchive類的對(duì)象

第3行:用于創(chuàng)建并打開一個(gè)名為test_new.zip的文件,以便我們可以向其中添加文件。標(biāo)志ZipArchive::CREATE指定我們要?jiǎng)?chuàng)建一個(gè)新的zip文件

第6行和第7行:用于將文件添加到zip文件中。

第10行:用于將名為random.txt的文件添加到zip文件中,并在zip文件中將其重命名為newfile.txt。

第13行:用于添加新文件new.txt,文件內(nèi)容為“要添加到new.txt文件的文本”。

第16行:關(guān)閉并保存對(duì)zip文件的更改。

注意:有時(shí)在使用文件的相對(duì)路徑時(shí)可能會(huì)出現(xiàn)問題。如果使用路徑有任何問題,那么我們也可以使用文件的絕對(duì)路徑

覆蓋現(xiàn)有的zip文件

如果要覆蓋現(xiàn)有的zip文件,我們可以使用類似于以下的代碼。該標(biāo)志ZipArchive::OVERWRITE指定覆蓋現(xiàn)有的zip文件。

 ?php$zip = new ZipArchive;if ($zip- open( test_overwrite.zip , ZipArchive::OVERWRITE) === TRUE) // 將文件添加到zip文件 $zip- addFile( test.txt  $zip- addFile( test.pdf  // 關(guān)閉zip文件 $zip- close();? 

3.jpg

代碼說明

此代碼將創(chuàng)建一個(gè)文件test_overwrite.zip,如果該文件已經(jīng)存在,文件將被此新文件覆蓋。

創(chuàng)建一個(gè)新的zip文件并在指定文件夾中添加文件

 ?php$zip = new ZipArchive;if ($zip- open( test_folder.zip , ZipArchive::CREATE) === TRUE) // 將文件添加到zip文件中的demo_folder文件夾內(nèi) $zip- addFile( text.txt , demo_folder/test.txt  $zip- addFile( test.pdf , demo_folder/test.pdf  // 將random.txt文件添加到zip文件中的demo_folder文件夾內(nèi),并重命名為newfile.txt $zip- addFile( random.txt , demo_folder/newfile.txt  // 將有指定內(nèi)容的new.txt添加到zip文件中的demo_folder文件夾 $zip- addFromString( demo_folder/new.txt , 要添加到new.txt文件中的文本  // 關(guān)閉zip文件 $zip- close();? 

4.jpg

代碼說明

上面的代碼會(huì)將zip文件中的不同文件添加到demo_folder文件夾中

addfile函數(shù)的第二個(gè)參數(shù)可用于將文件存儲(chǔ)在新文件夾中

addFromString函數(shù)中的第一個(gè)參數(shù)可用于將文件存儲(chǔ)在新文件夾中

創(chuàng)建一個(gè)新的zip文件并將文件添加到不同的文件夾中

 ?php$zip = new ZipArchive;if ($zip- open( test_folder_change.zip , ZipArchive::CREATE) === TRUE) // 將文件添加到zip文件 $zip- addFile( text.txt , demo_folder/test.txt  $zip- addFile( test.pdf , demo_folder1/test.pdf  // 關(guān)閉zip文件 $zip- close();? 

5-1.jpg

5-2.jpg

5-3.jpg

代碼說明

我們將zip文件中的test.txt文件存儲(chǔ)到demo_folder文件夾中,將test.pdf文件存儲(chǔ)到demo_folder1文件夾中

創(chuàng)建一個(gè)zip文件,其中包含一個(gè)目錄中的所有文件

 ?php$zip = new ZipArchive;if ($zip- open( test_dir.zip , ZipArchive::OVERWRITE) === TRUE) if ($handle = opendir( demo_folder )) // 添加目錄中的所有文件 while (false !== ($entry = readdir($handle))) if ($entry != . $entry != .. !is_dir( demo_folder/ . $entry)) $zip- addFile( demo_folder/ . $entry); closedir($handle); $zip- close();? 

6.jpg

代碼說明

第5-16行:打開一個(gè)目錄,并創(chuàng)建一個(gè)包含該目錄中所有文件的zip文件

第5行:打開目錄

第8行:獲取目錄中每個(gè)文件的名稱

第10行:跳過“.”和“..”以及任何其他目錄

第12行:將文件添加到zip文件中

第15行:關(guān)閉目錄

第18行:關(guān)閉zip文件

創(chuàng)建一個(gè)zip文件,其中包含多個(gè)目錄的所有文件

以下代碼將這些目錄中的不同文件夾和文件添加到zip文件中

 ?php$zip = new ZipArchive;if ($zip- open( test_files_dirs.zip , ZipArchive::OVERWRITE) === TRUE) // 添加 directory1 if ($handle = opendir( demo_folder/directory1/ )) while (false !== ($entry = readdir($handle))) if ($entry != . $entry != .. ) $zip- addFile( demo_folder/directory1/ . $entry); closedir($handle); // 添加 directory2 if ($handle = opendir( demo_folder/directory2/ )) while (false !== ($entry = readdir($handle))) if ($entry != . $entry != .. ) $zip- addFile( demo_folder/directory2/ . $entry); closedir($handle); // 添加 directory3 if ($handle = opendir( demo_folder/directory3/ )) while (false !== ($entry = readdir($handle))) if ($entry != . $entry != .. ) $zip- addFile( demo_folder/directory3/ . $entry); closedir($handle); $zip- close();? 

7-1.jpg

7-2.jpg

7-3.jpg

7-4.jpg

代碼說明

第6-42行:將目錄directory1,directory2和directory3中的所有文件添加到zip文件中的相應(yīng)目錄中。

以上就是本篇文章的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)有所幫助。更多精彩內(nèi)容大家可以關(guān)注php 相關(guān)教程欄目!!!

以上就是如何使用PHP創(chuàng)建zip壓縮文件的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 剑川县| 泸定县| 蒙自县| 开远市| 嵊泗县| 财经| 阿勒泰市| 称多县| 平遥县| 庆云县| 靖州| 沁水县| 腾冲县| 虹口区| 南充市| 尤溪县| 绍兴县| 天祝| 衡水市| 尖扎县| 襄樊市| 溧水县| 全南县| 德格县| 安义县| 芷江| 黄冈市| 介休市| 敦化市| 武川县| 武川县| 钟山县| 郎溪县| 肥城市| 元江| 仲巴县| 噶尔县| 商都县| 雷州市| 安达市| 商水县|