Viernes, Diciembre 28th, 2007...20:11

Asignar a multiples zips, nombre que contiene dentro del .zip

Saltar a Comentarios

Hace poco, por una razón X, he tenido que renombrar todos unos zips del tipo 92832.zip al contenido que tenían dentro. Con esté script que pongo a disposición de todos, se puede lograr en un rato, está en php.

define(’ZIP_DIR’,'zips/’);
define(’ZIP_DIR_NUEVO’,'zipsNuevos/’);


if(!dl(’php_zip.dll’)) die(’Necesita la extension ZIP’);
$zipDir = dir(ZIP_DIR);
while(false !==($zipArchivo = $zipDir->read()))
{
$zipDirArchivo = ZIP_DIR.$zipArchivo;
if(’.zip’==substr($zipArchivo, -4) && is_file($zipDirArchivo))
{
$zip = zip_open($zipDirArchivo);
if($zip)
{
$zipEntradaNombre = basename(zip_entry_name(zip_read($zip)));
$zipEntradaExt = strrpos($zipEntradaNombre, ‘.’);
$zipNuevoNombre = substr($zipEntradaNombre, 0, ($zipEntradaExt?$zipEntradaExt:strlen($zipEntradaNombre)));
$zipNuevoNombre = ucwords(str_replace(’.', ‘ ‘, $zipNuevoNombre));
$zipNuevoNombreDir = ZIP_DIR_NUEVO.$zipNuevoNombre.’.zip’;
zip_close($zip);


if(file_exists($zipNuevoNombreDir))
{
$i=0;
while(file_exists($zipNuevoNombreDir = ZIP_DIR_NUEVO.$zipNuevoNombre.’_’.$i.’.zip’)) $i++;
}


echo (rename($zipDirArchivo, $zipNuevoNombreDir) ? ‘Renombrado’:'Error al renombrar’).”: $zipDirArchivo => $zipNuevoNombreDir\r\n”;
}
}
}
$zipDir->close();

1 Comentario

  • fredy
    Mozilla Firefox Mozilla Firefox 2.0.0.11 en Windows Windows XP
    Enero 4th, 2008 at 17:03

    lo estaba buscando por dios! muy buenooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Dejar una respuesta