¿Existe un acceso directo (PHP) para comprimir todos los archivos en una carpeta (realizar el reverso de la operación ZipArchive extractTo)?

El código de esta respuesta simplemente extrae el contenido de un archivo zip a una carpeta:

<?php
$zip = new ZipArchive;
$res = $zip->open('file.zip');
if ($res === TRUE) {
  $zip->extractTo('/myzips/extract_path/');
  $zip->close();
  echo 'woot!';
} else {
  echo 'doh!';
}
?>

¿Hay alguna manera simple (sin un bucle foreach, por archivo y recursivamente descendente en subcarpetas) para ejecutar esta operación a la inversa, en PHP, de modo que se vuelva a crear el archivo zip original?

La carpeta "extract_path" no debe incluirse en el archivo zip, por lo que no puedo simplemente usar la función recursiva vinculada anteriormente.

Este sería el equivalente PHP de hacer estos comandos de shell de Linux, que son bastante simples:

cd /myzips/extract_path/
zip /dest/file.zip *

(antes de que alguien comente "¿Por qué querrías hacer eso?", es porque quiero modificar un archivo y luego volver a crear el archivo zip)

preguntado el 22 de mayo de 12 a las 07:05

Me imagino que los comandos que publicaste son esencialmente comprimidos recursivamente como la respuesta a la que te vinculaste. Debería poder modificar esa respuesta a menos que me falte algo. -

El código en la respuesta a la pregunta que vinculé anteriormente hizo el trabajo; ¡Simplemente no me di cuenta en ese momento! -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.