Foros del Web » Programando para Internet » PHP »

Problemas al descomprimir ZIP con la clase pclzip

Estas en el tema de Problemas al descomprimir ZIP con la clase pclzip en el foro de PHP en Foros del Web. Este script funciona en Windows, pero no en linux (CENTOS). No sale ningun mensaje de error, pero no reemplaza los archivos antiguos con los descomprimidos. ...
  #1 (permalink)  
Antiguo 29/03/2010, 08:22
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 21 años, 11 meses
Puntos: 0
Problemas al descomprimir ZIP con la clase pclzip

Este script funciona en Windows, pero no en linux (CENTOS).

No sale ningun mensaje de error, pero no reemplaza los archivos antiguos con los descomprimidos.

Cita:
$DirFicheros="../../Temp/"; //Ruta de la carpeta donde se guardara el zip
$NombreFile=$_SESSION['NumVersionS'].".zip"; //Creamos la variable del nombre del fichero

require_once("../../Class/pclzip.lib.php");
$archivo = new PclZip($DirFicheros.$NombreFile);

//Ejecutamos la funcion extract indicando la ruta donde se descargara
if ($archivo->extract(PCLZIP_OPT_PATH, '../../',
PCLZIP_OPT_REMOVE_PATH, $DirFicheros) == 0) {
die("Error : ".$archivo->errorInfo(true));
}
Gracias por las sugerencias.
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #2 (permalink)  
Antiguo 25/05/2012, 22:10
 
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 2
Antigüedad: 11 años, 11 meses
Puntos: 0
Hola, es un tema antiguo, pero como veo que no hay respuestas, dejo el dato por si a alguno le sirve (hay poca info sobre la clase pclzip)

Por defecto, la clase, solo reemplaza los archivos si no existe una versión más nueva en el servidor. Lo más probable, es que te estuviera pasando eso.

Para que reemplace cualquier archivo, incluso si hay una versión más nueva en el servidor, hay que usar el argumento opcional "PCLZIP_OPT_REPLACE_NEWER"

En la página lo explican (aunque en inglés):
http://www.phpconcept.net/pclzip/user-guide/42

Cita:
if ($archivo->extract(PCLZIP_OPT_PATH, '../../',
PCLZIP_OPT_REMOVE_PATH, $DirFicheros) == 0) {
die("Error : ".$archivo->errorInfo(true));
}
Quedaría:

Cita:
if ($archivo->extract(PCLZIP_OPT_PATH, '../../',
PCLZIP_OPT_REMOVE_PATH, $DirFicheros,
PCLZIP_OPT_REPLACE_NEWER) == 0) {
die("Error : ".$archivo->errorInfo(true));
}
Acá lo pongo como código
(Perdón, era mi primer mensaje, jeje :)

Código PHP:
Ver original
  1. if ($archivo->extract(PCLZIP_OPT_PATH, '../../',
  2. PCLZIP_OPT_REMOVE_PATH, $DirFicheros,
  3. PCLZIP_OPT_REPLACE_NEWER) == 0) {
  4. die("Error : ".$archivo->errorInfo(true));
  5. }

Última edición por jpinedo; 26/05/2012 a las 02:08 Razón: Combinar mensajes

Etiquetas: clase, descomprimir, zip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:21.