ZipArchive::extractTo

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::extractToExtrahiert den Archivinhalt

Beschreibung

publicZipArchive::extractTo(string$pathto, array|string|null$files = null): bool

Extrahiert das komplette Archiv oder die angegebenen Dateien in das angegebene Ziel.

Warnung

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().

Parameter-Liste

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.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

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';
}
?>

Anmerkungen

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.

To Top