:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Dateien/Verzeichnisse mit ZIP komprimieren |
Systemvoraussetzung
- Linux
- PHP 3
- PHP 4
- PHP 5
- ZIP
Datei(en)
zip.php
Das Skript komprimiert alle angegebenen Dateien und Verzeichnisse und
speichert diese in einer Zip-Datei
im gleichen Verzeichnis wie die PHP-Datei.
Die erzeugte Zip-Datei
eignet sich gerade für den Einsatz unter einem Windows-Betriebssystem.
Hinweis
Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen,
lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil
„Grundlegende Informationen“ in diesem Kapitel. Höchstwahrscheinlich wird
es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses
Verzeichnis besitzen und diese erst vergeben müssen.
Dieses Beispiel wird neben den beiden Textdateien Testdatei1.txt und Testdatei2.
txt das komplette Verzeichnis testordner/ incl. Unterverzeichnissen komprimieren.
Weiterhin werden im testordnerSQL/ alle *.sql-Dateien
archiviert
und komprimiert. Sollten sich in diesem Verzeichnis weitere Unterverzeichnisse
mit sql-Dateien
befinden, so werden diese nicht mit in die Archivdatei
aufgenommen. 01: 02: 03: 04: 05: 06: 07: 08: |
<?PHP
$files[] = 'Testdatei1.txt';
$files[] = 'Testdatei2.txt'; $files[] = 'testordner/'; $files[] = 'testordnerSQL/*.sql';
?>
|
Die in unserem Array $files zu sichernden Dateien müssen durch ein Leerzeichen
voneinander getrennt werden, damit der Befehl zip einwandfrei funktioniert.
Wie wir in der Einleitung bereits erklärt haben, verzichten wir hier
bewusst auf espaceshellcmd(). Zum Schluss führen wir unser Statement mit
dem Befehl exec() aus und erhalten dank unseres Parameters v als Rückgabewert
die gesicherten Dateinamen und Verzeichnisse inkl. prozentualer Angabe
der Komprimierungsrate. 09:
10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
20:
21 : | <?PHP
$implodeFiles = implode(" ", $files);
$tarName = 'backup.zip';
$shellBefehl = "zip -r $tarName $implodeFiles";
exec($shellBefehl,$var);
print_r($var);
?>
|
Ausgabe im Browser
Array
(
[0] => adding: Testdatei1.txt (deflated 100%)
[1] => adding: Testdatei2.txt (deflated 100%)
[2] => adding: testordner/ (stored 0%)
[3] => adding: testordner/Testdatei4.txt (deflated 100%)
[4] => adding: testordner/Testdatei5.txt (deflated 100%)
[5] => adding: testordner/Testdatei6.txt (deflated 100%)
[6] => adding: testordnerSQL/selfphp_testfile.sql (deflated 88%)
[7] => adding: testordnerSQL/selfphp_testfile1.sql (deflated 88%)
[8] => adding: testordnerSQL/selfphp_testfile2.sql (deflated 88%)
) |
Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!
Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.
|
|
|
|
|
|