¡Ah! y borra los zip originales, perdona, no me daba cuenta. Si quieres que no haga eso comenta:<br> unlink($archivoZip-&gt;getPathname());<br><br>Un saludo<br><br><div class="gmail_quote">El 13 de julio de 2011 17:56, Luis Franco Vázquez <span dir="ltr">&lt;<a href="mailto:luis@piezas.org.es">luis@piezas.org.es</a>&gt;</span> escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hola Jorge:<br><br>yo estaba haciendo lo mismo con PHP.<br>Prueba este script y me cuentas (ejecútalo si quieres desde consola con php nombre_script.php).<br>
Cambia la ruta del directorio y ya se encarga él de buscar todos los zip y de extraerlos en el mismo sitio.<br>
<br>Ya me dirás.<br>Un saludo<br>&lt;?php <br><br>/**<br> * Librería que extiende  el FilterIterator del SPL de PHP<br> * para filtrar sólo los archivos de un tipo<br> * <br> */<br>class FiltroDirectorio extends FilterIterator<br>

{<br>    private $_tipo; <br>    <br>    /**<br>     * Constructor<br>     * <br>     * @access public<br>     * @return void<br>     */<br>    public function __construct($path,$tipo)<br>    {<br>        parent::__construct(new DirectoryIterator($path));<br>

        $this-&gt;_tipo = &#39;.&#39; . strtolower($tipo);<br>    }<br>    <br>    /**<br>     * Comprueba si durante una iteración se cumplen las condiciones<br>     * <br>     * @access public<br>     * @return Boolean $aceptable<br>

     */<br>    public function accept()<br>    {<br>        $aceptable = FALSE;<br>        $iteradorDirectorio = $this-&gt;getInnerIterator();<br>        $aceptable = $iteradorDirectorio-&gt;isFile();<br>        if ($aceptable)<br>

        {<br>            $aceptable = (bool) substr_count(strtolower($iteradorDirectorio-&gt;getFilename()), $this-&gt;_tipo);<br>        }<br>        return $aceptable;<br>    }<br>    <br>}<br><br>$rutaDirZip = &#39;/home/usuario/Escritorio/catastro/muestras/urbana_sin_historia/&#39;;<br>

$dir = new FiltroDirectorio($rutaDirZip,&#39;zip&#39;);<br>foreach ($dir as $archivoZip)<br>{<br>    $zip = new ZipArchive;<br>    if ($zip-&gt;open($archivoZip-&gt;getPathname()) === TRUE) {<br>        $zip-&gt;extractTo($rutaDirZip);<br>

        $zip-&gt;close();<br>        echo &#39;Extrayendo &#39;.$archivoZip-&gt;getPathname().PHP_EOL;<br>        echo &#39;Borrando &#39;.$archivoZip-&gt;getPathname().PHP_EOL;<br>        unlink($archivoZip-&gt;getPathname());<br>

        <br>    } else {<br>        echo &#39;Fallo extracción: &#39;.$archivoZip-&gt;getPathname().PHP_EOL;<br>    }<br>}<br>?&gt;<br><div class="gmail_quote">El 13 de julio de 2011 17:31, Jorge Arévalo <span dir="ltr">&lt;<a href="mailto:jorge.arevalo@deimos-space.com" target="_blank">jorge.arevalo@deimos-space.com</a>&gt;</span> escribió:<div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Lo olvidaba. Es Python 2.7. Pasa igual con 2.6<br>
<br>
2011/7/13 Jorge Arévalo &lt;<a href="mailto:jorge.arevalo@deimos-space.com" target="_blank">jorge.arevalo@deimos-space.com</a>&gt;:<br>
<div><div></div><div>&gt; Buenas,<br>
&gt;<br>
&gt; Estoy procesando datos catastrales con Python, y me estoy encontrando<br>
&gt; con un problema bastante molesto. Os cuento lo que hago:<br>
&gt;<br>
&gt; 1.- Con certificado digital, me bajo unos shapefiles de prueba del<br>
&gt; servicio de descarga masiva de datos catastrales<br>
&gt; (<a href="https://www.sedecatastro.gob.es/OVCFrames.aspx?TIPO=TIT&amp;a=masiv" target="_blank">https://www.sedecatastro.gob.es/OVCFrames.aspx?TIPO=TIT&amp;a=masiv</a>).<br>
&gt; Elijo la opción &quot;rústica con historia&quot;. Me baja un fichero zip<br>
&gt;<br>
&gt; 2.- Con Python, descomprimo ese fichero zip. Dentro tiene más ficheros<br>
&gt; zip (PARCELA.zip, SUBPARCE.zip, etc).<br>
&gt;<br>
&gt; 3.- Intento descomprimir cada uno de los ficheros por separado, y con<br>
&gt; todos ellos Python me da una excepción &quot;BadZipFile: File is not a zip<br>
&gt; file&quot;. Llamando al método &quot;is_zipfile&quot;<br>
&gt; (<a href="http://docs.python.org/library/zipfile.html" target="_blank">http://docs.python.org/library/zipfile.html</a>), efectivamente, me<br>
&gt; devuelve FALSE. He estado buscando por Internet gente que ha tenido un<br>
&gt; problema similar, pero no he encontrado ninguna respuesta<br>
&gt; satisfactoria todavía. En StackOverflow hay un par de hilos sin<br>
&gt; respuesta sobre el tema. Por lo que he podido sacar, será que los<br>
&gt; ficheros no están en el formato PKZIP. 7-zip me los abre sin<br>
&gt; problemas, y el unzip de Ubuntu lo mismo.<br>
&gt;<br>
&gt; Hasta donde yo creía saber, el algoritmo PKZIP era el implementado<br>
&gt; para la compresión ZIP, y pensé que cualquier librería que soportara<br>
&gt; archivos zip no tendría problemas con dicho formato, pero se ve que<br>
&gt; no.<br>
&gt;<br>
&gt; ¿Alguien tiene experiencia con los ficheros del catastro?, ¿o con este<br>
&gt; tipo de problema en ficheros zip?<br>
&gt;<br>
&gt; Gracias por anticipado, y saludos,<br>
&gt;<br>
&gt; --<br>
&gt; Jorge Arévalo<br>
&gt; Internet &amp; Mobility Division, DEIMOS<br>
&gt; <a href="mailto:jorge.arevalo@deimos-space.com" target="_blank">jorge.arevalo@deimos-space.com</a><br>
&gt; <a href="http://es.linkedin.com/in/jorgearevalo80" target="_blank">http://es.linkedin.com/in/jorgearevalo80</a><br>
&gt; <a href="http://mobility.grupodeimos.com/" target="_blank">http://mobility.grupodeimos.com/</a><br>
&gt; <a href="http://gis4free.wordpress.com" target="_blank">http://gis4free.wordpress.com</a><br>
&gt; <a href="http://geohash.org/ezjqgrgzz0g" target="_blank">http://geohash.org/ezjqgrgzz0g</a><br>
&gt;<br>
<br>
<br>
<br>
--<br>
Jorge Arévalo<br>
Internet &amp; Mobility Division, DEIMOS<br>
<a href="mailto:jorge.arevalo@deimos-space.com" target="_blank">jorge.arevalo@deimos-space.com</a><br>
<a href="http://es.linkedin.com/in/jorgearevalo80" target="_blank">http://es.linkedin.com/in/jorgearevalo80</a><br>
<a href="http://mobility.grupodeimos.com/" target="_blank">http://mobility.grupodeimos.com/</a><br>
<a href="http://gis4free.wordpress.com" target="_blank">http://gis4free.wordpress.com</a><br>
<a href="http://geohash.org/ezjqgrgzz0g" target="_blank">http://geohash.org/ezjqgrgzz0g</a><br>
_______________________________________________<br>
Spanish mailing list<br>
<a href="http://lists.osgeo.org/mailman/listinfo/spanish" target="_blank">http://lists.osgeo.org/mailman/listinfo/spanish</a><br>
<a href="http://es.osgeo.org" target="_blank">http://es.osgeo.org</a><br>
<a href="http://twitter.com/osgeoes" target="_blank">http://twitter.com/osgeoes</a><br>
</div></div></blockquote></div></div></div><br>
</blockquote></div><br>