Inhaltsverzeichnis
Erstellen Sie ein ZIP -Archiv aus Dateien
Fügen Sie Dateien mit benutzerdefinierten Pfaden im Reißverschluss hinzu
Fügen Sie das gesamte Verzeichnis rekursiv hinzu
Heim Backend-Entwicklung PHP-Tutorial Wie erstelle ich ein ZIP -Archiv von Dateien in PHP?

Wie erstelle ich ein ZIP -Archiv von Dateien in PHP?

Sep 18, 2025 am 12:42 AM
php zip

Verwenden Sie die Ziparchive -Klasse, um eine ZIP -Datei zu erstellen. Erster instanziiert und öffnen Sie das Zielzip, fügen Sie Dateien mit Addfile hinzu, unterstützen Sie benutzerdefinierte interne Pfade, rekursive Funktionen können das gesamte Verzeichnis verpacken und schließlich kurz vor dem Speichern rufen, um sicherzustellen, dass PHP Schreibberechtigungen verfügt.

Wie erstelle ich ein ZIP -Archiv von Dateien in PHP?

Um ein ZIP-Archiv von Dateien in PHP zu erstellen, können Sie die integrierte Ziparchive- Klasse verwenden. Mit dieser Klasse können Sie leicht ZIP -Archive erstellen, modifizieren und extrahieren.

Erstellen Sie ein ZIP -Archiv aus Dateien

Hier erfahren Sie, wie Sie eine ZIP -Datei aus einer oder mehreren Dateien erstellen:

$ zip = neu ziparchive ();
$ zipfile = 'archive.zip';

// Öffnen Sie die ZIP -Datei (erstellen Sie, wenn sie nicht vorhanden ist).
if ($ zip-> open ($ zipfile, ziparchive :: create)! == true) {
    Die ("keine Zip -Datei erstellen");
}

// Liste der Dateien, die hinzugefügt werden sollen
$ file = ['file1.txt', 'file2.jpg', 'order/document.pdf'];

foreach ($ file als $ file) {
    if (file_exists ($ file)) {
        $ zip-> addfile ($ file, baseName ($ file)); // Der zweite Parameter steuert den Namen in Reißverschluss
    }
}

$ zip-> close ();

echo "ZIP -Archiv erstellt: $ zipfile";

Fügen Sie Dateien mit benutzerdefinierten Pfaden im Reißverschluss hinzu

Sie können Dateien in Verzeichnissen innerhalb des ZIP organisieren, indem Sie einen anderen internen Pfad angeben:

$ zip-> addfile ('local/path/image.jpg', 'images/photo.jpg');
$ zip-> addfile ('docs/readme.txt', 'project/docs/readme.txt');

Fügen Sie das gesamte Verzeichnis rekursiv hinzu

Wenn Sie alle Dateien in einem Verzeichnis (einschließlich Unterverzeichnissen) eintreffen möchten, verwenden Sie eine rekursive Funktion:

Funktion addfoldertozip ($ dire, $ ziparchive, $ zippath = '') {
    $ files = scandir ($ dire);
    foreach ($ file als $ file) {
        if ($ file === '.' || $ file === '..') Fortsetzung;

        $ filepath = "$ dir/$ file";
        $ EintragName = $ zippath === ''? $ file: "$ zippath/$ file";

        if (is_dir ($ filepath)) {
            $ ziparchive-> addEmptydir ($ einsteuername);
            addfoltertozip ($ filepath, $ ziparchive, $ Eintragenname);
        } anders {
            $ ziparchive-> addfile ($ filepath, $ Eintragsname);
        }
    }
}

// Verwendung
$ zip = neu ziparchive ();
if ($ zip-> open ('backup.zip', ziparchive :: create) === true) {
    addfoltertozip ('my_Folder', $ zip);
    $ zip-> close ();
}

Verwenden Sie im Grunde genommen einfach Ziparchive , fügen Sie Ihre Dateien mit addFile () hinzu und rufen Sie Close () zum Speichern an. Stellen Sie sicher, dass PHP Berechtigungen in das Zielverzeichnis schreiben. Es ist zuverlässig und erfordert in den meisten Einstellungen keine zusätzlichen Erweiterungen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich ein ZIP -Archiv von Dateien in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie man HTML -Tags in PHP wiedergibt Wie man HTML -Tags in PHP wiedergibt Sep 29, 2025 am 02:25 AM

Verwenden Sie einzelne Zitate oder entkommene Doppelzitate, um HTML in PHP auszuführen. Es wird empfohlen, Zeichenfolgen mit einzelnen Zitaten zu wickeln, um Attribut -Zitatkonflikte zu vermeiden. Dynamischer Inhalt kann in Kombination mit variablem Spleißen oder Heredoc -Syntax erzeugt werden.

Wie arbeite ich mit Get -Request -Variablen in PHP? Wie arbeite ich mit Get -Request -Variablen in PHP? Sep 29, 2025 am 01:30 AM

Verwenden Sie $ _gettoaccessurlqueryStringVariableSinphp, suchasname = Johnandage = 30fromhttps: //example.com/search.php? Name = John & Age = 30; immerValidateAndsanitizeInputsusingFilter_Input () und AvoidsensistaNevivedataNurlsdueTuetoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoexposens.

Was sind Eigenschaften und wie man sie in PHP verwendet? Was sind Eigenschaften und wie man sie in PHP verwendet? Oct 02, 2025 am 04:17 AM

MerkmalsinphpenableHorizontalCodereuseByAnlowClasSestoinheritMethsfromReusabletraitContainer, Umgehungsansinginheritancelimits

So konvertieren Sie eine Zeichenfolge in PHP von einer Zeichenkodierung in eine andere So konvertieren Sie eine Zeichenfolge in PHP von einer Zeichenkodierung in eine andere Oct 09, 2025 am 03:45 AM

Verwenden Sie die Funktion mb_convert_encoding(), um eine Zeichenfolge zwischen verschiedenen Zeichenkodierungen zu konvertieren. Stellen Sie sicher, dass die MultibyteString-Erweiterung von PHP aktiviert ist. 1. Das Format dieser Funktion ist mb_convert_encoding (Zeichenfolge, Zielcodierung, Quellcodierung), z. B. Konvertierung von ISO-8859-1 in UTF-8; 2. Es kann mit mb_detect_encoding() kombiniert werden, um die Quellkodierung zu erkennen, aber das Ergebnis ist möglicherweise ungenau; 3. Es wird häufig verwendet, um alte Kodierungsdaten in UTF-8 zu konvertieren, um sie an moderne Anwendungen anzupassen. 4. Die Alternative iconv() unterstützt die Optionen //TRANSLIT und //IGNORE, aber die plattformübergreifende Konsistenz ist schlecht; 5. Zuerst empfohlen

So verwenden Sie set_error_handler, um einen benutzerdefinierten Fehlerhandler in PHP zu erstellen So verwenden Sie set_error_handler, um einen benutzerdefinierten Fehlerhandler in PHP zu erstellen Oct 02, 2025 am 03:54 AM

set_error_handlerinphpenableScustomErrorHandlingByDefiningAfunctionThatInterceptsRecoverableerErrors, erlaubte controlledlogginganduser-freundlich;

So verwenden Sie die INTL -Erweiterung für die Internationalisierung in PHP So verwenden Sie die INTL -Erweiterung für die Internationalisierung in PHP Oct 04, 2025 am 12:51 AM

Antwort: Die INTL -Erweiterung von PHP wird basierend auf der Intensivbibliothek internationalisiert und unterstützt mehrsprachige Formatierung, Übersetzung und Sortierung. Installieren Sie zuerst die INTL -Erweiterung und aktivieren Sie. Das Linux-System wird mit APT-Get oder Yum installiert. Windows aktivieren Erweiterung = intl in php.ini. Formatnummern nach Region durch Numberformatter, wie z. B. DE_DE Ausgabe 1.234,567,89; IntDateFormatter -Verarbeitungsdatum Anzeige, z. B. FR_FR Zeigt "lundi4septembre2023" an; CurrencyFormatter Formate Currency, EN_US Zeigt 99,99 $ an. Mich

Kostenloser Online -Kanal für russische Suchmaschinen_Russische Suchmaschine Direkte offizielle Website Kostenloser Online -Kanal für russische Suchmaschinen_Russische Suchmaschine Direkte offizielle Website Sep 30, 2025 am 09:56 AM

Der kostenlose Online -Kanal für russische Suchmaschinen ist yandex.com. Die Plattform bietet Web -Abruf, Nachrichtenaggregation, Kartennavigation, mehrsprachige Übersetzungsdienste und integriert E -Mail-, Cloud -Speicher-, lokale Leben und Multimedia -Funktionen mit technischen Vorteilen wie russischen Sprachoptimierung und intelligenten Empfehlungen.

Wie validieren Sie die Benutzereingabe auf der Serverseite in PHP? Wie validieren Sie die Benutzereingabe auf der Serverseite in PHP? Oct 03, 2025 am 03:23 AM

Server-SsidevalidationInphpiScrucialForSecurityAndDatainTegrity.1.usefilter_input () und Filter_var () TosanitizeandvalidatInput.2.CheckRequiredfields-withemty () Ortrim ()

See all articles