Renombrar archivos masivamente en PHP


Hola nuevamente.

Pues ahora dentro de los proyectos que no paran, me salio un trabajo «complejo» por así decirlo, pero pues nada es difícil siempre y cuando haya la forma de resolverlo y aunque digan que es imposible, es que todavía hay una solución por encontrar; bueno, en esta ocasión se me atravesó en el camino una actualización de un sistema, concretamente actualizar indices de catálogos de un punto de venta, la cuestión era que se iba a re indizar la tabla de imágenes, porque no iba a ser posible implementar una mejora en el área administrativa, primeramente vino a la mente de forma manual, pero NO!!! debe haber una solución mas práctica, y efectivamente dicha imagen tenía un indice en el nombre de archivo, pero esta al actualizar cambiaba a un identificador nuevo asignado por el código del producto, bueno así que la solución fue generar la re indización de la pagina y con un script generar el renombrado masivo de imágenes, lo primero que hice fue exportar la tabla a un archivo separado por comas *.CSV y de ahí leerlo e ir buscando la imagen con ese indice y cambiarlo por el identificador del producto quedando mi script de la siguiente forma:

//archivo: fotos.php
if (($gestor = fopen("lista.csv", "r")) !== FALSE) {
    //abrimos el csv exportado de la lista de excel
    while (($datos = fgetcsv($gestor, 1000,",")) !== FALSE) {
    //leemos las lineas
        $buscar = $datos[0]; //asignación de nombre de imagen a buscar
        $renombra = $datos[1]; //nombre de imagen a reemplazar

        if(file_exists($buscar.".jpg")){ //buscamos las imágenes
        	echo "Encontrado:" .$buscar.".jpg " ; //si la encuentra
         	if(rename($buscar.".jpg", $renombra.".jpg")){ //la renombramos
                     //mostramos un mensaje de renombrado
                     echo "Renombrado:" .$buscar.".jpg por: ".$renombra.".jpg ";
               }
        }
    }
fclose($gestor); //cerramos el archivo
}

A grandes rasgos lo que hace el script es buscar la imagen con el indice anterior, si la encuentra lo renombre  con el nuevo código y vamos mostrando mensajes para ir confirmando que archivos se fueron actualizando, todo a partir de un archivo de datos; en este caso un archivo separado por comas, algo sencillo pero simple a la hora de estar re nombrando archivos de forma masiva, aunque existen herramientas ya especialmente diseñadas para esto, lo que me llevó al desarrollo de este script fue que en ese lugar estaba sin acceso a internet para poder buscar la herramienta lo que me llevó a escribir este pequeño script para poder solucionar el problema de una forma rápida y elegante.

Espero disfruten experimentando con el código como yo al hacerlo

Happy coding!!!


Un Comentario

  1. Im not that much of a online reader to be honest but your blogs really nice, keep it up! I’ll go ahead and bookmark your site to come back later. All the best eddadekgfcfc


Deja un comentario