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 Bzip2 komprimieren


Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5
  • TAR
  • BZIP2

Datei(en)

bzip2.php

Das Skript archiviert zuerst alle angegebenen Dateien und Verzeichnisse (rekursiv) mit TAR. Erst im zweiten Schritt wird die erzeugte Archivdatei mit BZIP2 komprimiert und die zuvor erstellte Archivdatei gelöscht. Zur besseren Darstellung wurde bei der Erzeugung des TAR-Archivs die Option „v“ gesetzt. Somit wurde gewährleistet, dass die Funktion exec() ein Array mit allen archivierten Dateien zurückliefern konnte (siehe Ausgabe).

  • -c Erstellt ein neues Archiv
  • -f Erstellt eine Archivdatei

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/ inkl. Unterverzeichnissen komprimieren. Weiterhin werden im testordnerSQL/ alle *.sqlDateien archiviert und komprimiert. Sollten sich in diesem Verzeichnis weitere Unterverzeichnisse mit sql-Dateien befinden, werden diese nicht mit in die Archivdatei aufgenommen.

01:
02:
03:
04:
05:
<?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 tar einwandfrei funktionieren kann. Wir sparen uns einen Schritt und trennen durch && den Archivbefehl tar vom Komprimierungsbefehl bzip2. 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.

06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
$implodeFiles implode(" "$files);

$tarName 'backup.tar';

$shellBefehl "tar -cvf $tarName $implodeFiles && bzip2 $tarName";

exec($shellBefehl,$var);

print_r($var);

?>

Ausgabe im Browser

Array
(
      [0] => Testdatei1.txt
      [1] => Testdatei2.txt
      [2] => testordner/
      [3] => testordner/Testdatei4.txt
      [4] => testordner/Testdatei5.txt
      [5] => testordner/Testdatei6.txt
      [6] => testordnerSQL/selfphp_testfile.sql
      [7] => testordnerSQL/selfphp_testfile1.sql
      [8] => testordnerSQL/selfphp_testfile2.sql
)


 




 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