ZipArchive::extractTo

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

ZipArchive::extractTo — Extrait le contenu de l'archive

Description

public function ZipArchive::extractTo(string $pathto, array|string|null $files = null): bool

Extrait l'archive complète ou les fichiers fournis vers un chemin spécifié.

Avertissement

Les permissions par défaut pour les fichiers et dossiers extraits donnent le plus large accès possible. Ceci peut être restreint en définissant le umask courant, qui peut être changé en utilisant umask().

Pour des raisons de sécurité, les permissions d'origine ne sont pas restaurées. Pour un exemple de comment les restaurer, consulter l'échantillon de code sur la page d'exemple de la méthode ZipArchive::getExternalAttributesIndex().

Liste de paramètres

pathto

Endroit où l'on doit extraire les fichiers.

files

Les entrées à extraire. Ce peut être soit le nom d'une entrée ou un tableau de noms.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Extrait toutes les entrées

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/mon/dossier/destination/');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>

Exemple #2 Extrait deux entrées

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/mon/dossier/destination/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>

Notes

Note:

Les systèmes de fichiers NTFS Windows ne supportent pas certains caractères dans les noms de fichier, à savoir <|>*?":. Les noms de fichiers avec un point traînant ne sont également pas supportés. Contrairement à certains outils d'extraction, cette méthode ne remplace pas ces caractères par un tiret bas, mais échoue à extraire de tels fichiers.