(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().
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.