(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::extractTo — Extrait le contenu de l'archive
$pathto
, array|string|null $files
= null
): boolExtrait 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 restraint en définissant le umask courant, qui peut être changé en utilisant umask().
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
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
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 certain caractères dans le noms de fichier, à savoir
<|>*?":
. Les noms de fichiers avec un point trainant ne sont également pas supporté. Contrairement à certains outils d'extraction, cette méthode ne remplace pas ces caractères avec un tiret bas, mais échoue à extraire de tel fichiers.