| |
| * Link führt ins Internet |
|

| |
Dateien/Verzeichnisse mit Bzip2 entpacken
|
Systemvoraussetzung
- Linux
- PHP 3
- PHP 4
- PHP 5
- TAR
- BZIP2
Datei(en)
bzip2unzip.php
Das Entpacken der zuvor erstellten komprimierten Archivdatei ist ebenso
einfach wie das Erstellen. Auch hier wurde die Option „v“ nur zur Darstellung
genutzt, um als Rückgabewert der Funktion exec() ein Array mit den
entpackten Dateien zu bekommen.
Liegen die Datei bzip2unzip.php und die komprimierte Archivdatei in einem
Verzeichnis, so werden alle Dateien und Verzeichnisse in denselben Ordner
entpackt, in dem auch das PHP-Skript
liegt. Anders verhält es sich, wenn
Sie bei der Erstellung die absoluten Pfadangaben angegeben haben – die Dateien
und Verzeichnisse werden dann in ihre ursprünglichen Verzeichnisse
zurückkopiert.
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.
Sicherlich ist Ihnen aufgefallen, dass wir die komplette Backupdatei nur mit
tar ansprechen und nicht noch einmal mit bzip2. Das liegt daran, dass wir
durch den Parameter „-j“
das Archiv direkt durch bzip2 filtern.
01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: |
<?PHP
$dateiName = 'backup.tar.bz2';
$shellBefehl = "tar -xjvf $dateiName";
$shellBefehl = escapeshellcmd($shellBefehl);
exec($shellBefehl,$nu);
print_r($nu);
?>
|
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
) |
|
|
|
|
|


|