Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/12/2010, 00:17
Avatar de memoadian
memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Trabajar con el contenido de un zip

Hola amigos de foros del web, hace poco se me ocurrió un proyectillo, donde se tiene que trabajar con archivos zip, el chiste es que tengo que cargar un zip y extraer su contenido para ponerlo en una carpeta, eso lo logré leyendo el manejo de archivs zip y cree este códiguito simple

archivo html subir zip
Código HTML:
Ver original
  1. <title>Subir manga</title>
  2. </head>
  3. <body>    
  4.     <form name="form1" action="file.php" method="post" enctype="multipart/form-data">
  5.         <input type="text" name="carpeta"/><br/>
  6.         <input type="file" name="zip"/>
  7.         <input type="submit" value="Subir"/>
  8.     </form>
  9. </body>
  10. </html>

archivo php file.php

Código PHP:
Ver original
  1. <?php
  2. $car = $_POST['carpeta'];
  3. $zip = $_FILES['zip']['name'];
  4. $temp = $_FILES['zip']['tmp_name'];
  5. $tipo = $_FILES['zip']['type'];
  6. echo $zip."<br/>";
  7. echo $temp."<br/>";
  8. echo $tipo."<br/>";
  9.  
  10. if($tipo = "application/zip")
  11. {
  12.     $zip = new ZipArchive;
  13.     if ($zip->open($temp) === TRUE)
  14.     {
  15.         $dir = $car;
  16.         $zip->extractTo($dir);
  17.         $zip->close();
  18.         echo ' ok ';
  19.     }
  20.     else
  21.     {
  22.         echo ' El archivo no es ZIP ';
  23.     }
  24. }
  25. ?>

simple pero eficiente, lo dejo por si alguien le sirve

ahora lo que quiero es saber si alguien tiene experiencia en este tipo de proyectos, lo que quiero es trabjar el contenido extraido, por ejemplo quiero comprobar si el archivo tiene una carpeta dentro algo asi como:

prueba.zip->carpeta->imagenes

o si no la tiene

prueba.zip->imagenes

y con una condicional crear el nombre de la carpeta con el codigo de arriba, tambien quiero renombrar cada una de las imagenes con un for (por que el proyecto es de subir paquetes de imagenes), y comprobar si realmente son imagenes y no otro tipo de archivo como php por ejemplo lo cual seria catastrófico.

todo esto lo se hacer con archivos que no esten dentro de un zip pero ya planteado este problema no tengo ni jodida idea.

como ven tengo la lógica, pero me falta la tecnica y la práctica.

quisiera que me ayudaran en este aspecto, prometo esforzarme mucho, y si solo tienen un link que pueda estudiar para esto se los agradeceré mucho.

:D