array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'ziparchive.extractto.php', 1 => 'ZipArchive::extractTo', ), 'up' => array ( 0 => 'class.ziparchive.php', 1 => 'ZipArchive', ), 'prev' => array ( 0 => 'ziparchive.deletename.php', 1 => 'ZipArchive::deleteName', ), 'next' => array ( 0 => 'ziparchive.getarchivecomment.php', 1 => 'ZipArchive::getArchiveComment', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/zip/ziparchive/extractto.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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 restraint 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, consultez l'échantillon de code sur la page d'exemple de la méthode ZipArchive::getExternalAttributesIndex().
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
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.