(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::extractTo — Extrahiert den Archivinhalt
Extrahiert das komplette Archiv oder die angegebenen Dateien in das angegebene Ziel.
Die Standardberechtigungen für extrahierte Dateien und Verzeichnisse sind maximal großzügig ausgelegt. Dies kann eingeschränkt werden, wenn die aktuelle umask durch Verwendung von umask() gesetzt wird.
Aus Sicherheitsgründen werden die ursprünglichen Berechtigungen nicht wiederhergestellt. Wie diese wiederhergestellt werden können, zeigt das Codebeispiel auf der Seite ZipArchive::getExternalAttributesIndex().
pathto
Stelle, an die die Dateien extrahiert werden sollen.
files
Die zu extrahierenden Einträge. Es wird entweder ein einzelner Eintragsname oder ein Array von Namen akzeptiert.
Beispiel #1 Alle Einträge extrahieren
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->extractTo('/mein/ziel/verzeichnis/');
$zip->close();
echo 'ok';
} else {
echo 'Fehler';
}
?>
Beispiel #2 Zwei Einträge extrahieren
<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
$zip->extractTo('/mein/ziel/verzeichnis/', array('pear_item.gif', 'testfromfile.php'));
$zip->close();
echo 'ok';
} else {
echo 'Fehler';
}
?>
Hinweis:
Windows NTFS-Dateisysteme unterstützen einige Zeichen in Dateinamen nicht, nämlich
<|>*?":
. Dateinamen mit einem Punkt am Ende werden ebenfalls nicht unterstützt. Im Gegensatz zu einigen Extraktionswerkzeugen ersetzt diese Methode diese Zeichen nicht durch einen Unterstrich, sondern extrahiert solche Dateien nicht.