PHP ZipArchive implementiert die Komprimierung und Dekomprimierung von Zip-Dateien
Freigeben: 2016-07-30 13:31:44
Original
1476 Leute haben es durchsucht
PHP ZipArchive ist eine Erweiterungsklasse, die mit PHP geliefert wird und ZIP-Dateien problemlos komprimieren und dekomprimieren kann. Bevor Sie sie verwenden, müssen Sie zunächst sicherstellen, dass die PHP-ZIP-Erweiterung aktiviert ist Öffnungsmethode. Verschiedene Plattformen ermöglichen die PHP-Erweiterung. Wenn Sie Fragen haben, können Sie diese gerne teilen. Hier sind einige häufig verwendete Beispiele als Referenz. 1. Entpacken Sie die Zip-Datei $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文件
}
Nach dem Login kopieren
2. Komprimieren Sie die Datei in eine Zip-Datei
$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();
}
Nach dem Login kopieren
3. Datei hinzufügen, Inhalt an ZIP-Datei anhängen
$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';
}
Nach dem Login kopieren
4. Packen Sie den Ordner in eine Zip-Datei function addFileToZip($path, $zip) {
$handler = opendir($path); //打开当前文件夹由$path指定。
/*
循环的读取文件夹下的所有文件和文件夹
其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,
为了不陷于死循环,所以还要让$filename !== false。
一定要用!==,因为如果某个文件名如果叫'0',或者某些被系统认为是代表false,用!=就会停止循环
*/
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 = new ZipArchive();
if ($zip->open('images.zip', ZipArchive::OVERWRITE) === TRUE) {
addFileToZip('images/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close(); //关闭处理的zip文件
}
Nach dem Login kopieren
Die ZipArchive-Methode lautet wie folgt: ZipArchive::addEmptyDir – Ein neues Verzeichnis hinzufügen
ZipArchive::addFile – Fügt eine Datei aus dem angegebenen Pfad zu einem ZIP-Archiv hinzu
ZipArchive::addFromString – Fügen Sie eine hinzu Datei mithilfe ihres Inhalts in ein ZIP-Archiv kopieren
ZipArchive::close – Das aktive Archiv schließen (geöffnet oder neu erstellt)
ZipArchive::deleteIndex – Einen Eintrag im Archiv mithilfe seines Index löschen
ZipArchive::deleteName – einen Eintrag im Archiv unter Verwendung seines Namens löschen
ZipArchive::extractTo – Archivinhalt extrahieren
ZipArchive::getArchiveComment – Gibt den Kommentar zum Zip-Archiv zurück
ZipArchive::getCommentIndex – Gibt den Kommentar eines Eintrags unter Verwendung des Eintrags zurück
index
ZipArchive::getCommentName – Gibt den Kommentar eines Eintrags unter Verwendung des Eintragsnamens zurück
ZipArchive::getFromIndex – Gibt den Eintragsinhalt unter Verwendung seines Index zurück
ZipArchive::getFromName – Gibt den Eintragsinhalt unter Verwendung seines Namens zurück
ZipArchive::getNameIndex – Gibt den Namen eines Eintrags unter Verwendung seines Index zurück
ZipArchive::getStatusString – Gibt die Statusfehlermeldung, das System und/oder zurück
ZIP-Nachrichten
ZipArchive::getStream – Ruft einen Dateihandler für den durch seinen Namen definierten Eintrag ab (schreibgeschützt).
ZipArchive::locateName – Gibt den Index des Eintrags im Archiv zurück
ZipArchive::open – Öffnen Sie ein ZIP-Dateiarchiv.
ZipArchive::renameIndex – Benennt einen durch seinen Index definierten Eintrag um.
ZipArchive::renameName – Benennt einen durch seinen Index definierten Eintrag um Name
ZipArchive::setArchiveComment – Legt den Kommentar eines ZIP-Archivs fest
ZipArchive::setCommentIndex – Legt den Kommentar eines durch seinen Index definierten Eintrags fest
ZipArchive::setCommentName – Legen Sie den Kommentar eines durch seinen Namen definierten Eintrags fest.
ZipArchive::statIndex – Rufen Sie die Details eines durch seinen Index definierten Eintrags ab.
ZipArchive::statName – Rufen Sie die Details eines Eintrags ab definiert durch seinen Namen.
ZipArchive::unchangeAll – Alle im Archiv vorgenommenen Änderungen rückgängig machen
ZipArchive::unchangeArchive – Alle im Archiv vorgenommenen globalen Änderungen rückgängig machen.
ZipArchive ::unchangeIndex – Alle an einem Eintrag am angegebenen Index vorgenommenen Änderungen rückgängig machen
ZipArchive::unchangeName – Alle an einem Eintrag mit dem angegebenen Namen vorgenommenen Änderungen rückgängig machen.
以上就介绍了PHP ZipArchive 实现压缩解压Zip文件, 包括了方面的内容, 希望对PHP教程有兴趣的朋友有所帮助。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31