(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::extractTo — Extrait le contenu de l'archive
Extrait l'archive complète ou les fichiers fournis vers un chemin spécifié.
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().
pathtoEndroit où l'on doit extraire les fichiers.
filesLes entrées à extraire. Ce peut être soit le nom d'une entrée ou un tableau de noms.
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';
}
?>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.