搜尋
首頁後端開發php教程PHP擴充類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
PHP8.0中的Zip解压库:ZipArchivePHP8.0中的Zip解压库:ZipArchiveMay 14, 2023 am 08:54 AM

作为一种流行的服务器端编程语言,PHP已经受到了广泛的应用和支持。PHP8.0版本中新增的Zip解压库,也是一项非常实用的功能,可以为PHP开发者提供更多的编程工具和解决方案。这个Zip解压库被称为ZipArchive,是PHP8.0版本中新引入的Zip解压和压缩类。该功能可帮助开发者解决在PHP中进行Zip文件操作的问题,并提供更简单、更快速、更有效的解

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开发

HTML 文件压缩成 ZIP 的最佳指南HTML 文件压缩成 ZIP 的最佳指南Apr 09, 2024 pm 04:09 PM

压缩HTML文件成ZIP可提高页面加载速度。方法包括:使用在线工具(如FileOptimizer、TinyPNG)使用命令行工具(如gzip、7-zip)使用Node.js脚本(使用zlib模块)

如何使用PHP ZipArchive实现对压缩包的文件内容加密和解密?如何使用PHP ZipArchive实现对压缩包的文件内容加密和解密?Jul 21, 2023 pm 06:44 PM

如何使用PHPZipArchive实现对压缩包的文件内容加密和解密?在进行文件传输或存储时,保护数据安全是非常重要的。使用密码对压缩包的文件内容进行加密和解密可以有效地避免数据泄漏的风险。PHP提供了一个名为ZipArchive的类,它可以用来创建和操作ZIP格式的压缩包。本文将介绍如何使用PHPZipArchive类实现对压缩包的文件内容加密和解密。创

linux压缩zip命令怎么用linux压缩zip命令怎么用Oct 08, 2023 pm 01:25 PM

zip命令是Linux系统中一个非常有用的压缩工具。通过使用zip命令,您可以轻松地将文件和目录压缩成一个zip文件,并节省存储空间和方便传输。zip命令的基本语法为“zip [选项] [压缩文件名] [要压缩的文件或目录]”。

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.zip文件[root@cgls]#unzipmydata.zip5.查看myd

php如何使用PHP的ZipArchive扩展?php如何使用PHP的ZipArchive扩展?Jun 02, 2023 am 08:13 AM

PHP是一种流行的服务器端语言,可以用来开发Web应用程序和处理文件。PHP的ZipArchive扩展是一个强大的工具,可以在PHP中操作zip文件。在这篇文章中,我们将介绍如何使用PHP的ZipArchive扩展来创建、读取和修改zip文件。一、安装ZipArchive扩展在使用ZipArchive扩展之前,需要确保已经安装了这个扩展。安装方法如下:1.安

如何使用PHP ZipArchive实现多个压缩包的合并和拆分?如何使用PHP ZipArchive实现多个压缩包的合并和拆分?Jul 21, 2023 am 10:17 AM

如何使用PHPZipArchive实现多个压缩包的合并和拆分?概述:在开发过程中,有时我们需要将多个压缩包合并成一个,或者将一个压缩包拆分成多个。PHP提供了ZipArchive扩展,可以方便地完成这些操作。本文将介绍如何使用PHPZipArchive实现多个压缩包的合并和拆分。合并多个压缩包首先,我们需要创建一个新的压缩包,并打开它。然后,循环遍历要合

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境