Ver Mensaje Individual
  #25 (permalink)  
Antiguo 13/01/2004, 15:51
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
definitiva

Tengo un script definitivo, es el de antes, pero probado y sin fallos (lo tengo en un servidor no-rancio que no da problemas con las funciones, no hay que poner @ ):

Código PHP:
$path "imagenes";
$dir = @opendir($path);
$diaInic=29;
$mesInic=01;
$anoInic=2004;

class 
Fecha {
    var 
$fecha;
    function 
Fecha($a=0,$m=0,$d=0) {  
        if (
$a==0$a=Date("Y");
        if (
$m==0$m=Date("m"); 
        if (
$d==0$d=Date("d");
           
$this -> fecha Date("Ymd",mktime(0,0,0,$m,$d,$a));
    } 
    function 
SumaTiempo($a=0,$m=0,$d=0) {
        
$ano=substr($this->fecha,0,4);
        
$mes=substr($this->fecha,4,2);
        
$dia=substr($this->fecha,6,2);
        
$this->fecha=Date("Ymd",mktime(0,0,0,$mes+$m,$dia+$d,$ano+$a));
    } 
    function 
getFecha() {
        return 
$this->fecha
    } 


srand((double)microtime()*1000000);
$abc="abcdefghijklmnopqrstuvwxyz01234567890";
function 
nombreAleat() {
    global 
$abc$devolver=""$long=rand(5,20);
    for(
$a=0;$a<=$long;$a++) {
        
$devolver.=$abc[rand(0,strlen($abc))];
    }
    return 
$devolver;
}


$dia=new Fecha($anoInic,$mesInic,$diaInic);

$codigo="\$archivoImg=Array();<br>";
$cont=0;
while (
$elemento = @readdir($dir)) { 
   
$fich=$path."/".$elemento;
   if(
strpos($fich,".jpg")) {    //es jpg
       
echo "<b>".$fich."</b>";
    
$nuevoNombre=@nombreAleat();
       
$ren=@rename($fich,$path."/".$nuevoNombre.".jpg");
       echo 
" es renombrado a <b>".$path."/".$nuevoNombre.".jpg</b> (ren=".$ren.")<br>";
        
$cont++;
    
$codigo.="\$archivoImg[".$dia->getFecha()."]='".$nuevoNombre."';<br>";
     
$dia->SumaTiempo(0,0,1);
   }
   else {
    echo 
$fich." no es renombrado, no es jpg<br>";
   }
}

echo 
"<p><h3>RESULTADO DEL DIRECTORIO:</h3>";
@
closedir($dir);
$dir = @opendir($path);

while (
$elemento = @readdir($dir)) { 
   
$fich=$path."/".$elemento;
   echo 
$fich."<br>";
}

@
closedir($dir); 

echo 
"<hr><hr>";
echo 
"<h3>codigo generado:</h3>".$codigo
Ya esta, los nombres de las imagenes aleatorias y renombradas, y el codigo listo para hacer un array-archivo de imagenes.

Parece bueno, si no puedo hacer otro mejor, la solucion perfecta no?

A ver si me lo superais :P

un saludo a todos los que prestan ayuda incondicional!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.