| |
| * Link führt ins Internet |
|
| |
Dateien und Verzeichnisse mit TAR/Gzip entpacken
|
|
Systemvoraussetzung
- Linux
- PHP 3
- PHP 4
- PHP 5
- TAR
- GZIP
Datei(en)
gunzip.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 gunzip.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,
so 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 gzip. Das liegt daran, dass wir
durch den Parameter "-z"
das Archiv direkt durch gzip filtern.
01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: |
<?PHP
$dateiName = 'backup.tar.gz';
$shellBefehl = "tar -xzvf $dateiName";
$shellBefehl = escapeshellcmd($shellBefehl);
exec($shellBefehl,$nu);
print_r($nu);
?>
|
Datei: gunzip.php
Ausgabe
Array
(
[0] => Testdatei1.txt
[1] => Testdatei2.txt
[2] => Testdatei3.txt
[3] => testordner/
[4] => testordner/Testdatei1.txt
[5] => testordner/Testdatei2.txt
[6] => testordner/Testdatei3.txt
) |
|
|
|
|
|
|