Foros del Web » Programando para Internet » PHP »

Problema upload con zip

Estas en el tema de Problema upload con zip en el foro de PHP en Foros del Web. Buenas tardes ando trabajando en un upload que al momento de subir el zip de imagenes a una carpeta me la descomprima he tratado con ...
  #1 (permalink)  
Antiguo 07/06/2010, 16:01
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Problema upload con zip

Buenas tardes ando trabajando en un upload que al momento de subir el zip de imagenes a una carpeta me la descomprima he tratado con pclzip pero el problema es que no logro ajustarlo al upload que yo tengo no se si es porque no encuentro como debe llamar el codigo que descomprime al archivo, al zip que se esta subiendo no se si me explico no se casi nada de php pero estoy tratando de crear por mi cuenta este sistema pero esto me esta dando algo de problemas. este es el codigo que tengo del upload y del zip si alguien fuera tan amable de asesorarme o ayudarme le estaria agradecido.

Código:
if(is_uploaded_file($_FILES['subir']['tmp_name'])) {

    // me verifica haya sido cargado el archivo 

        $ruta_destino = "img/";

        $namefinal= trim ($_FILES['subir']['name']); //linea nueva devuelve la cadena sin espacios al principio o al final

        $namefinal= ereg_replace (" ", "", $namefinal);// linea nueva devuelve la cadena sin espacios entre palabtas

        $uploadfile= $ruta_destino . $namefinal; 
		
        $path = $ruta_destino . '/' . $_FILES [ 'subir' ][ 'name' ];  






        if(move_uploaded_file($_FILES['subir']['tmp_name'], $uploadfile)) { // se coloca en su lugar final 

                   //Incluimos la libreria 
  include('pclzip.lib.php'); 
 
//forma de llamar la clase 
  $archive = new PclZip('$namefinal'); 
 
//Ejecutamos la funcion extract 
 
  if ($archive->extract(PCLZIP_OPT_PATH, '$ruta_destino', 
                        PCLZIP_OPT_REMOVE_PATH, 'tmp_name') == 0) { 
    die("Error : ".$archive->errorInfo(true)); 
  }
gracias amigos espero poder contar con su asesoramiento, gracias.
  #2 (permalink)  
Antiguo 07/06/2010, 16:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema upload con zip

en esta linea estas usando mal la variable... ;)
Código PHP:
// MAL
$archive = new PclZip('$namefinal'); 

// BIEN
$archive = new PclZip($namefinal); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/06/2010, 21:02
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema upload con zip

Cita:
en esta linea estas usando mal la variable... ;)
Código PHP:
// MAL
$archive = new PclZip('$namefinal');

// BIEN
$archive = new PclZip($namefinal);
Gracias pateketrueke por tu pronta respuesta, pero ya cambie la parte que me comentaste pero al momento de hacer el upload me marca este error

Código PHP:
Error PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'Tlatek.zip' 
a que se debe ese error
  #4 (permalink)  
Antiguo 07/06/2010, 22:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema upload con zip

seguramente la variable que le pasas como el archivo no existe, eso es lo que dice el error... (:

en todo caso debería ser $uploadfile y no $namefinal

recuerda que lo que debes descomprimir es el archivo subido... no solo su nombre...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 12/06/2010, 18:17
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema upload con zip

pateketrueke aun me sigue mandando el mismo error
Cita:
Error : PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file '$uploadfile'
no se cual es la variable que debo darle pues me marca error en cualquiera que le ponga no se cual sea el problema.
  #6 (permalink)  
Antiguo 12/06/2010, 19:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema upload con zip

el problema es que sigues usando comillas, y no son necesarias!!

por favor, pon atención a lo que se te comentó...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 12/06/2010, 20:24
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema upload con zip

gracias pateketrueke ya funciona aunque ahi veces en que me descomprime pero igual me marca ese error quien sabe por que pero ya funciona aunque me descomprime y tambien me guarda el archivo en zip las dos cosas pero esta bien aunque estoy ahora tratando de crear una carpeta dandole un nombre con un input y que me descomprima el zip a esa carpeta, ya creo la carpeta y sube a esa carpeta pero el problema es que ahora no descomprime el zip ahi este es el codigo que tengo para que lo chequen porfavor todo lo demas funciona.

Código PHP:
$ruta_destino "path_completa/img/";
        
        
$tmp_name $_FILES['subir']['tmp_name'];

        
$namefinaltrim ($_FILES['subir']['name']); //linea nueva devuelve la cadena sin espacios al principio o al final

        
$namefinalereg_replace ("[^a-z0-9._]"""str_replace(" ""_"str_replace("%20""_"strtolower($namefinal) ) ) );// linea nueva devuelve la cadena sin espacios entre palabtas

        
$uploadfile$ruta_destino $namefinal
        
        
$path $_POST['nueva_carpeta'];
        
        
$fullpath "$ruta_destino$path/";
        
        
// create a sub-directory if required
        
            
if (!is_dir($fullpath)){
                
mkdir("$fullpath"0777);
            }

        if(
move_uploaded_file($_FILES['subir']['tmp_name'], $uploadfile)) { // se coloca en su lugar final 

                   //Incluimos la libreria 
  
include('pclzip.lib.php'); 
 
//forma de llamar la clase 
  
$archive = new PclZip($uploadfile); 
 
//Ejecutamos la funcion extract 
 
  
if ($archive->extract(PCLZIP_OPT_PATH'/home/manganix/public_html/mangas/img/'
                        
PCLZIP_OPT_REMOVE_PATH'temp_install') == 0) { 
    die(
"Error : ".$archive->errorInfo(true)); 
  } 
Otra duda que tengo es que para descomprimir el zip lo tengo que manejar asi
Código PHP:
if ($archive->extract(PCLZIP_OPT_PATH'/home/manganix/public_html/mangas/img/'
                        
PCLZIP_OPT_REMOVE_PATH'temp_install') == 0) { 
    die(
"Error : ".$archive->errorInfo(true)); 
por que si lo manejo asi me marca error a que se debe eso

Código PHP:
if ($archive->extract(PCLZIP_OPT_PATH'$ruta_destino'
                        
PCLZIP_OPT_REMOVE_PATH'temp_install') == 0) { 
    die(
"Error : ".$archive->errorInfo(true)); 
saludos espero puedan asesorarme en cuanto a descomprimir el zip en otra carpeta.

Última edición por mazaku; 12/06/2010 a las 20:30
  #8 (permalink)  
Antiguo 13/06/2010, 00:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema upload con zip

y te sigue pasando lo mismo, recuerda que las variables no necesitan comillas...
Código PHP:
'$ruta_destino' 
así de sencillo, por favor, no uses comillas cuando quieras que la variable se evalúe!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 13/06/2010, 00:40
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema upload con zip

Ya he quitado las comillas pero aun asi me marca error

Código PHP:
$ruta_destino "path_completa/img/";
        
        
$tmp_name $_FILES['subir']['tmp_name'];

        
$new_nametrim ($_FILES['subir']['name']); //linea nueva devuelve la cadena sin espacios al principio o al final

        
$namefinalereg_replace ("[^a-z0-9._]"""str_replace(" ""_"str_replace("%20""_"strtolower($new_name) ) ) );// linea nueva devuelve la cadena sin espacios entre palabtas

        
$uploadfile$ruta_destino $path $namefinal
        
        
$path $_POST['agregar_serie'];
        
        
$fullpath "$ruta_destino$path/";
        
// create a sub-directory if required
        
            
if (!is_dir($fullpath)){
                
mkdir("$fullpath"0777);
            }

        if(
move_uploaded_file($_FILES['subir']['tmp_name'], $uploadfile)) { // se coloca en su lugar final 

                   //Incluimos la libreria 
  
include('pclzip.lib.php'); 
 
//forma de llamar la clase 
  
$archive = new PclZip($namefinal); 
 
//Ejecutamos la funcion extract 
 
  
if ($archive->extract(PCLZIP_OPT_PATH$fullpath
                        
PCLZIP_OPT_REMOVE_PATH'temp_install') == 0) { 
    die(
"Error : ".$archive->errorInfo(true)); 
  } 
Cita:
Error : PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'wallpapers.zip'
si me sube el archivo a la carpeta creada pero no me la descomprime que es lo que quisiera, cual podria ser el problema ya he tratado de cambiar las variables que en vez de $namefinal sea $uploadfile pero el problema es el mismo no lo descomprime.
  #10 (permalink)  
Antiguo 13/06/2010, 09:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema upload con zip

mira, no se si estarías leyendo con cuidado... pero es que siempre cambias de valores...

Código PHP:
// ESTO ES LO CORRECTO
$archive = new PclZip($uploadfile); 
y ahora, pues antes lo tenías bien, esto no lo debías cambiar... pero lo hiciste!! ¿porque??

tu problema era con la variable $ruta_destino y ahora vuelves a meter la pata, y modificas una variable donde no debería de ir...

además no se trata de jugar con las variables, todo tiene una lógica... y es muy preciso: necesitas la ruta del archivo comprimido -debe existir- y la ruta final -también debe existir-

si cumples esas dos reglas lógicas dudo que tengas problemas, aún así... te repito, por favor pon atención a todo lo que se te dice... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 13/06/2010, 10:42
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema upload con zip

lo he puesto asi como me comentas pero igual me marca error

Código PHP:
//Incluimos la libreria 
  
include('pclzip.lib.php'); 
 
//forma de llamar la clase 
  
$archive = new PclZip($uploadfile); 
 
//Ejecutamos la funcion extract 
 
  
if ($archive->extract(PCLZIP_OPT_PATH$fullpath
                        
PCLZIP_OPT_REMOVE_PATH$tmp_name) == 0) { 
    die(
"Error : ".$archive->errorInfo(true)); 
  } 
Código:
Error : PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file '/home/manganix/public_html/mangas/img/wallpapers.zip'
el upload me funciona pues me la manda a donde quiero pero el problema es en la descompresion no se por que, ya le puse las variables que creo yo deben de ser pero aun asi me manda error.
  #12 (permalink)  
Antiguo 13/06/2010, 11:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema upload con zip

ahora, el mensaje de error es muy claro... dice que no existe el archivo que le pasas como argumento...

¿es cierto todo eso??

deberías comprobar que realmente exista el archivo, sobre todo -aunque ya lo vi así- coloca el código de extracción dentro del if() cuando move_uploaded_file() se ejecute con éxito...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: upload, 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.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.