:: Anbieterverzeichnis :: Globale Branchen
:: SELFPHP Forum ::
Fragen rund um die Themen PHP?
In über
130.000 Beiträgen finden Sie sicher die passende
Antwort! 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
|
Dateien/Verzeichnisse mit ZIP komprimieren  |
|
Am Ende der Seite finden Sie das komplette Beispiel als Download.
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.
Download
|
Alle Beispiele als PHP-Datei(en)
Hier haben Sie die Möglichkeit, sich sämtliche auf dieser Seite gezeigten Beispiele als PHP-Dateien direkt downzuloaden.
Umständliches Copy & Paste ist daher nicht mehr notwendig, da alle Beispiele sofort ausprobiert werden können.
Sie haben bei der Auswahl der bereitgestellten Downloads mehrere Möglichkeiten, je nachdem welches Komprimierungsverfahren Sie bevorzugen.
|
Zurück zur Übersichtsseite
|
|
|
|
|


:: Anbieterverzeichnis ::
Webhosting/Serverlösungen
Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?
Sie sind nur ein paar Klicks davon entfernt! 
|