Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Zip-Dateien

PHP-Zip-Dateien

WBOY
WBOYOriginal
2024-08-29 12:55:501265Durchsuche

Die PHP-Zip-Dateifunktionen werden verwendet, um eine Reihe von Dateien oder Verzeichnissen zusammen in komprimierter Form zu speichern. Zip ist das Archivdateiformat, das zum Speichern der Dateien in komprimierter Form verwendet wird. Das Zip-Archiv speichert bequem viele Dateien oder Verzeichnisse in komprimierter Form, um sie zu speichern und zu teilen. Die PHP-Zip-Dateien sind keine integrierten Funktionen in PHP, da andere integrierte Funktionen in PHP verfügbar sind. Daher müssen wir die Klasse installieren, wenn sie nicht vorhanden ist. Wenn wir PHP 5 oder eine andere neuere Version verwenden, können die erforderlichen Erweiterungen kostenlos heruntergeladen und installiert werden. Die Zip-Erweiterung erfordert libzip.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Um mit den Zip-Dateien arbeiten zu können, müssen wir die Installation wie folgt durchführen –

Linux-Benutzer (PHP 5+):

  • Linux-Benutzer müssen die PHP-Zip-Funktionen und -Bibliothek herunterladen und einbinden, da diese nicht standardmäßig integriert sind.
  • Stellen Sie sicher, dass libzip Version 0.11 oder höher installiert ist, empfohlen wird Version 0.11.2 oder höher.
  • Verwenden Sie während der PHP-Kompilierung die Konfigurationsoption –with-libzip=DIR, um Zip-Unterstützung einzuschließen.
  • Um die Zip-Funktion zu aktivieren, muss PHP mit dem Flag –enable-zip kompiliert werden.

Windows-Benutzer (PHP 5+):

  • Ähnlich wie bei Linux sind die PHP Zip-Funktionen und die Bibliothek nicht standardmäßig für Windows-Benutzer integriert.
  • Laden Sie die Datei php_zip.dll herunter und aktivieren Sie sie, die sich in der Konfigurationsdatei php.ini befindet, um die Zip-Funktionen zu nutzen.
  • Beachten Sie, dass diese Erweiterung in PHP 5.3 bereits integriert ist, sodass keine zusätzlichen Schritte erforderlich sind.

Funktionen

Während der Arbeit mit Zip-Dateien müssen wir einige der unten genannten Funktionen verwenden –

  • zip_open(): Öffnet ein ZIP-Dateiarchiv zum Lesen.
  • zip_read(): Liest die nächste Datei in einem geöffneten ZIP-Dateiarchiv.
  • zip_entry_open(): Öffnet einen Verzeichniseintrag in der ZIP-Datei zum Lesen.
  • zip_entry_read(): Liest aus einem geöffneten Verzeichniseintrag in der ZIP-Datei.
  • zip_entry_compressedsize(): Ruft die komprimierte Dateigröße eines ZIP-Verzeichniseintrags ab.
  • zip_entry_compressionmethod(): Ruft die Komprimierungsmethode eines ZIP-Verzeichniseintrags ab.
  • zip_entry_filesize(): Ruft die tatsächliche Größe der Datei eines ZIP-Verzeichniseintrags ab.
  • zip_entry_name(): Ruft den Namen eines ZIP-Verzeichniseintrags ab.
  • zip_close(): Schließt das ZIP-Dateiarchiv.
  • zip_entry_close(): Schließt den ZIP-Verzeichniseintrag.

Beispiele für PHP XML in Array

Beispiel für PHP-Zip-Dateien zum Erstellen der Zip-Datei-

Als nächstes schreiben wir den PHP-Code, um die PHP-Zip-Dateien anhand des folgenden Beispiels besser zu verstehen, wobei die Zip-Datei verwendet wird, um die Gruppe von Dateien und Verzeichnissen zusammen in komprimierter Form zu speichern, wie unten –

Beispiel #1

Zuerst erstellen wir den Ordner und dann die Dateien oder das Verzeichnis, die wir bündeln und komprimieren möchten. Dann verwenden wir den PHP-Code, um sie zu komprimieren.

Code:

<?php
// give the path of directory whose file we want to Zip
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// Creating the new zip class
$zip_obj = new ZipArchive;
if( $zip_obj -> open( $zipfile, ZipArchive::CREATE ) === TRUE )
{
// open the directory at the gien path into the variable
$dir = opendir( $dir_path );
while( $file = readdir( $dir )) {
if( is_file( $dir_path.$file )) {
$zip_obj -> addFile( $dir_path.$file, $file );
}
}
$zip_obj ->close();
}
?>

Ausgabe:

PHP-Zip-Dateien

Wie im obigen Code gibt es den Verzeichnispfad (von dem aus alle Dateien in die Zip-Datei verschoben werden) und den Dateinamen (unter welchem ​​Namen die Zip-Datei erstellt werden soll). Zunächst wird das ZipArchive-Klassenobjekt mithilfe des Codes „$zip_obj = new ZipArchive;“ erstellt. Dann iterieren Sie alle in diesem Verzeichnispfad verfügbaren Dateien und fügen Sie dann mithilfe des ZipArchive-Objekts die Dateien dem Zip-Archiv hinzu, indem Sie diesen Code verwenden: „$zip_obj -> addFile( $dir_path.$file, $file );.“

Beispiel #2

Beispiel für PHP-Zip-Dateien zum Entpacken der Zip-Datei-

Als nächstes schreiben wir den PHP-Code, um die PHP-Zip-Dateien zu verstehen, wobei die Zip-Datei entpackt wird, um alle komprimierten Dateien oder Verzeichnisse hierher zu extrahieren, wie unten –

Code:

<?php
// Enter the path of directory
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// create new zip class object
$zip_obj = new ZipArchive;
$file = $dir_path.$zipfile;
print("The Zip file location is : ");
print($file);
// Add zip filename which we need to unzip
$zip_obj->open( $file );
// Extract all the Zip files to the current directory
$zip_obj->extractTo('./');
$zip_obj->close();
?>

Ausgabe:

PHP-Zip-Dateien

Wie im obigen Code gibt es den Verzeichnispfad und den Dateinamen (welche Datei entpackt werden soll). Zunächst wird das ZipArchive-Klassenobjekt mithilfe des Codes „$zip_obj = new ZipArchive;“ erstellt. Anschließend wird mithilfe des ZipArchive-Objekts die Datei in diesem Pfad geöffnet. Anschließend werden alle Dateien, die dem Zip-Archiv hinzugefügt wurden, mithilfe des Codes „$zip_obj ->“ extrahiert. extractTo(‘./’);“.

Das obige ist der detaillierte Inhalt vonPHP-Zip-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:PHP sscanf()Nächster Artikel:PHP sscanf()