Jackery IFA Fireplace
Mobile

PHP Inhalt von Webspace zippen

CPU

Lieutenant
Registriert
Jan. 2006
Beiträge
704
Hallo,

ich möchte ein PHP-Skript entwickeln, mit dem ich alle Dateien und Ordner in meinem Webspace zu einem Zip-Archiv zusammenbauen kann (~5.000 Dateien bei 50 MB).

Wie gehe ich am Besten methodisch vor?

Gruß,
CPU :freak:
 
rekursiv die Unterordner und Dateien durchsuchen lassen und Dateien incl Pfad in das Archiv hinzufügen... ?
 
bleibt dir wahrscheinlich nichts übrig, als alle Dateien mittels Schleife in die zip-Datei zu packen. Schau dir mal das hier an.
 
Das das irgendwie rekursiv und mit der z(ip)Lib geht ist mir klar! Aber ich wollte eher auf Time-Limit, Memory-Limit und so hinaus. Dachte, dass Ihr damit vielleicht Erfahrung habt ... :)

Gruß,
CPU
 
Das Zeitlimit ist überhaupt kein Problem set_time_limit. Viel eher wirst du evtl. am Memory Limit scheitern, da Freehoster ja allgemein nicht viel erlauben. Bei richtigen Hostern ist natürlich die Frage, was die maximale Grenze ist.
 
Code:
memory_limit	90M

Also, folgende Schritte:
1.) "set_time_limit" auf x Sekunden.
2.) Datenbank sichern
3.) Rekursiv durch Verzeichnisse gehen und Dateien zu Zip hinzufügen
4.) Zip in den gewünschten Ordner kopieren.

So?

Gruß,
CPU
 
das mem limit müsste eigentlich egal sein. PHP fügt ja die Datei nur zum zip hinzu (also einfach hinten anfügen.) das sollte nicht so mem-fressend sein.
 
Apropos Zip. Geht das so?

Code:
$zip = new ZipArchive();//Zip-Klasse aufrufen
$zip->open("datei.zip", ZipArchive::CREATE);//Zip-Datei erstellen

$zip->addFile('...datei.datei');

Und das wird nur von PHP5 unterstützt?

Gruß,
CPU
 
Oder zähle die Anzahl der zu packende Dateien und lass das Skript nach ca. 250 Dateien das Archiv schließen und dann erneut den Skript neu startet. Nur diesesmal werden alle Dateien nach 250 bis 500 gezippt. Solange bis es halt keine ungezippten Dateien gibt. Theoretisch könntest du danach nochmal das Archiv kontrollieren auf Vollständigkeit. Voraussetzung ist hier, dass in der Zwischenzeit keine neue Dateien hinzukommen.

Ja, das wird von PHP5 unterstütz, sofern du alles richtig getippt hast. http://de.php.net/manual/de/class.ziparchive.php
 
Zuletzt bearbeitet:
Zurück
Oben