Teil von  SELFPHP
Letztes Update: 14.09.2007 09:07:01

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

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%)
)


 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt