首頁 後端開發 php教程 PHP擴充類ZipArchive簡單使用

PHP擴充類ZipArchive簡單使用

Aug 08, 2016 am 09:23 AM
gt zip ziparchive

一、解壓縮zip文件

<?php
$zip = new ZipArchive;//新建一个ZipArchive的对象
/* 
   通过ZipArchive的对象处理zip文件
   $zip->open这个方法的参数表示处理的zip文件名。
   如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE
*/
if ($zip->open('test.zip') === TRUE){
    $zip->extractTo('images');//假设解压缩到在当前路径下images文件夹的子文件夹php
    $zip->close();//关闭处理的zip文件
}
?>
登入後複製
二、將文件壓縮成zip文件 
<?php
$zip = new ZipArchive;
/*
$zip->open这个方法第一个参数表示处理的zip文件名。
第二个参数表示处理模式,ZipArchive::OVERWRITE表示如果zip文件存在,就覆盖掉原来的zip文件。
如果参数使用ZIPARCHIVE::CREATE,系统就会往原来的zip文件里添加内容。
如果不是为了多次添加内容到zip文件,建议使用ZipArchive::OVERWRITE。
使用这两个参数,如果zip文件不存在,系统都会自动新建。
如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE
*/
if ($zip->open('test.zip', ZipArchive::OVERWRITE) === TRUE){
    $zip->addFile('image.txt');//假设加入的文件名是image.txt,在当前路径下
    $zip->close();
}
?>
登入後複製
三、文件追加內容添加到zip文件
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);

if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
登入後複製

四、將文件夾打包成zip文件

<?php
function addFileToZip($path, $zip) {
    $handler = opendir($path); //打开当前文件夹由$path指定。
/*
循环的读取文件夹下的所有文件和文件夹
其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,
为了不陷于死循环,所以还要让$filename !== false。
一定要用!==,因为如果某个文件名如果叫&#39;0&#39;,或者某些被系统认为是代表false,用!=就会停止循环
*/
    while (($filename = readdir($handler)) !== false) {
        if ($filename != "." && $filename != "..") {//文件夹文件名字为&#39;.&#39;和‘..’,不要对他们进行操作
            if (is_dir($path . "/" . $filename)) {// 如果读取的某个对象是文件夹,则递归
                addFileToZip($path . "/" . $filename, $zip);
            } else { //将文件加入zip对象
                $zip->addFile($path . "/" . $filename);
            }
        }
    }

    @closedir($path);
}
 
$zip = new ZipArchive();

if ($zip->open('images.zip', ZipArchive::OVERWRITE) === TRUE) {
    addFileToZip('images/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
    $zip->close(); //关闭处理的zip文件
}
?>
登入後複製

以上就介紹了PHP擴充類ZipArchive簡單使用,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

華為GT3 Pro和GT4的差異是什麼? 華為GT3 Pro和GT4的差異是什麼? Dec 29, 2023 pm 02:27 PM

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

PHP Fatal error: Class 'ZipArchive' not found in的解決方法 PHP Fatal error: Class 'ZipArchive' not found in的解決方法 Jun 23, 2023 pm 12:36 PM

近年來,PHP已成為廣泛使用的程式語言,用於開發各種Web應用程式。然而,有時在使用PHP開發應用程式的時候,會遭遇到「PHPFatalerror:Class‘ZipArchive’notfoundin」的錯誤提示,這會讓整個開發過程受到阻礙。這篇文章旨在介紹解決這個錯誤的方法,幫助PHP程式設計師更好地應對這個問題。錯誤的原因在使用PHP開發

PHP8.0中的Zip解壓縮函式庫:ZipArchive PHP8.0中的Zip解壓縮函式庫:ZipArchive May 14, 2023 am 08:54 AM

作為一種流行的伺服器端程式語言,PHP已經受到了廣泛的應用和支援。 PHP8.0版本中新增的Zip解壓縮函式庫,也是非常實用的功能,可以提供PHP開發者更多的程式設計工具和解決方案。這個Zip解壓縮函式庫稱為ZipArchive,是PHP8.0版本中新引入的Zip解壓縮和壓縮類別。此功能可協助開發者解決在PHP中進行Zip檔案操作的問題,並提供更簡單、更快速、更有效的解

如何使用PHP ZipArchive實現壓縮包的檔案內容加密和解密? 如何使用PHP ZipArchive實現壓縮包的檔案內容加密和解密? Jul 21, 2023 pm 06:44 PM

如何使用PHPZipArchive實作壓縮包的檔案內容加密和解密?在進行文件傳輸或儲存時,保護資料安全是非常重要的。使用密碼對壓縮包的檔案內容進行加密和解密可以有效避免資料外洩的風險。 PHP提供了一個名為ZipArchive的類,它可以用來建立和操作ZIP格式的壓縮套件。本文將介紹如何使用PHPZipArchive類別實作壓縮包的檔案內容加密和解密。創

HTML 檔案壓縮成 ZIP 的最佳指南 HTML 檔案壓縮成 ZIP 的最佳指南 Apr 09, 2024 pm 04:09 PM

壓縮HTML檔成ZIP可提高頁面載入速度。方法包括:使用線上工具(如FileOptimizer、TinyPNG)使用命令列工具(如gzip、7-zip)使用Node.js腳本(使用zlib模組)

centos7下解壓縮檔案指令(zip)詳解 centos7下解壓縮檔案指令(zip)詳解 Jan 07, 2024 pm 06:30 PM

1.壓縮資料夾為zip檔[root@cgls]#zip-rmydata.zipmydata2.把mydata.zip解壓縮到mydatabak目錄裡面[root@cgls]#unzipmydata.zip-dmydatabak3.mydata01資料夾和mydata02.txt mydata.zip[root@cgls]#zipmydata.zipmydata01mydata02.txt4.直接解壓縮mydata.zipmydata.zipmydata01mydata02.txt4.直接解壓縮mydata.zip檔[root@cgls]#unzipmydata.zip5.查看myd

修復:截圖工具在 Windows 11 中不起作用 修復:截圖工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

linux壓縮zip指令怎麼用 linux壓縮zip指令怎麼用 Oct 08, 2023 pm 01:25 PM

zip指令是Linux系統中一個非常有用的壓縮工具。透過使用zip指令,您可以輕鬆地將文件和目錄壓縮成一個zip文件,並節省儲存空間並方便傳輸。 zip指令的基本語法為「zip [選項] [壓縮檔案名稱] [要壓縮的檔案或目錄]」。

See all articles