Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2010, 08:33
Avatar de Jota_sk
Jota_sk
 
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Renombrar imagenes

Hola a todos. Estoy intentando crear un script que se compone en dos partes, la primera parte del script se mete en una carpeta, y obtiene el numero mayor de los archivos (la carpeta tiene imágenes con el siguiente nombre "Imagen004.jpg", "Imagen008.jpg", "Imagen015.jpg", "Imagen016.jpg", "Imagen023.jpg", "Imagen042.jpg", por ejemplo, y el script obtiene los números de los ficheros, y me dice cual es el numero mayor que hay) Esta parte del script me funciona perfectamente.

Ahora la segunda parte del script, quiero que coja las imágenes de otra carpeta y las renombre siguiendo el numero de la carpeta anterior, sin modificar el orden. Pero dentro de esta carpeta tambien hay imagenes con la misma sintaxis que la carpeta anterior. Pero con el script que he creado no lo renombra.

En resumen, lo que quiero que haga es lo siguiente:
1º -> Me diga cual es el numero mayor de las imágenes de la ruta 1.
2ª -> Renombre las imágenes de la ruta 2, siguiendo el ordena de la ruta 1 y sin alterar el orden de la imagenes de la ruta 2.

Miren si hay algún fallo, o como podría resolverlo. Muchas gracias.

Primer parte del script (no hay fallos, todo funciona bien, lo pongo por si a alguien le interesa)
Código PHP:

$dir
="/home/jota/Mobil/"
$directorio opendir($dir); 
while (
$archivo readdir($directorio)) { 
if (
$archivo=="." || $archivo=="..") { echo " "; } else { 
$archivos[$archivo] = $archivo;
}
}  
ksort ($archivos);
foreach (
$archivos as $archivo) { } 
$max substr($archivo,6,3); 
Segunda Parte del script:

Código PHP:
$au '1';
$path '/home/jota/Escritorio/Moblis/';
$directorio opendir($path); 
while (
$archivo readdir($directorio)) { 
if (
$archivo=="." || $archivo=="..") { echo " "; } else { 
$archivos[$archivo] = $archivo;
}
}  
ksort ($archivos);
foreach (
$archivos as $archivo) {
    
$num substr($archivo,6,3);
    
$num1 $max $au;
    
$au $au 1;
    
$numfinal str_pad($num130STR_PAD_LEFT);
    echo 
$numfinal;
    echo 
'<br>';
    
rename ($path.'Imagen'.$num.'.jpg'$path.'Imagen'.$numfinal.'.jpg');
    } 
Creo que todo funciona bien, lo único que no sale bien, es la función de renombrar. Lo único que sale mal. Tambien he probado a hacer "rename ('Imagen'.$num.'.jpg', 'Imagen'.$numfinal.'.jpg');" pero tampoco lo renombra.

Última edición por Jota_sk; 25/05/2010 a las 08:40 Razón: Más informacion.