(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::extractTo — Extraer el contenido del archivo
Extrae el archivo completo o los ficheros dados en la ruta que se especifique.
Los permisos por omisión para los archivos y directorios extraídos dan el más amplio acceso posible. Esto se puede restringir estableciendo la umask actual, que se puede cambiar usando umask().
Por razones de seguridad, los permisos originales no se restauran. Para ver un ejemplo de cómo restaurarlos, consulte el ejemplo de código en la página de ZipArchive::getExternalAttributesIndex().
pathto
Destino en donde extraer los ficheros.
files
Las entradas a extraer. Acepta tanto un solo nombre o un array de nombres.
Ejemplo #1 Extraer todas las entradas
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->extractTo('/my/destination/dir/');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
Ejemplo #2 Extraer dos entradas
<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
$zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
Nota:
Los sistemas de archivos NTFS de Windows no admiten algunos caracteres en nombres de archivos, a saber:
<|>*?":
. Tampoco se admiten nombres de archivo con un punto final. A diferencia de algunas herramientas de extracción, este método no reemplaza estoscaracteres con un guion bajo, sino que falla al intentar extraer tales archivos.