Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/01/2008, 10:41
MauroC
 
Fecha de Ingreso: noviembre-2007
Mensajes: 60
Antigüedad: 17 años
Puntos: 2
Re: Renombrar archivos subidos

Hola Raules!

Lo que puedes hacer es generar un string aleatorio o un numero. Para no sobreescribir o tener problemas a la hora del upload..

Por ejemplo, para hacerlo con un string puedes usar:

Código PHP:
<?php         

$extension 
explode(".",$archivo_name); 
$num count($extension)-1
if((
$extension[$num] == "jpg") OR ($extension[$num] == "gif") OR ($extension[$num] == "JPG") OR ($extension[$num] == "bmp") OR ($extension[$num] == "GIF"))  
{    
    if(
$archivo_size 70000000)    
    {   
       if(!
copy($archivo,"fotos_productos/".$archivo_name))   
           {   

$strings 'abcdefghijklmNopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';

$long 6// la longitud del string

$nuevo_string '';

// hacemos un loop para generar un string

for ($i=0$i <= $long$i++){
$rand rand(0strlen($strings));
$nuevo_string .= $strings[$rand];
}

$nuevo_name $archivo_name $nuevo_string;

rename ("fotos_productos/".$archivo_name,"fotos_productos/".$nuevo_name);
              
           }    
           else   
           {   
           
$link=Conectarse();   
           
mysql_query("INSERT INTO productos (id, estilo, tipo, estado, foto_producto) VALUES ('','$estilo','$tipo','$estado', '$archivo_name')",$link);  
           
           }    
    }    
    else    
    {   
     
    }   
       
}    
else    
{      
   
}    
?>
Y para poder hacerlo con numericos:
Código PHP:
<?php         

$extension 
explode(".",$archivo_name); 
$num count($extension)-1
if((
$extension[$num] == "jpg") OR ($extension[$num] == "gif") OR ($extension[$num] == "JPG") OR ($extension[$num] == "bmp") OR ($extension[$num] == "GIF"))  
{    
    if(
$archivo_size 70000000)    
    {   
       if(!
copy($archivo,"fotos_productos/".$archivo_name))   
           {   

$long 6// la longitud del rand

$nuevo_rand '';

for(
$i=0;$i<=$long;$i++){
$nuevo_rand .= rand(0,9);
}

$nuevo_name $archivo_name $nuevo_rand;

rename ("fotos_productos/".$archivo_name,"fotos_productos/".$nuevo_name);
              
           }    
           else   
           {   
           
$link=Conectarse();   
           
mysql_query("INSERT INTO productos (id, estilo, tipo, estado, foto_producto) VALUES ('','$estilo','$tipo','$estado', '$archivo_name')",$link);  
           
           }    
    }    
    else    
    {   
     
    }   
       
}    
else    
{      
   
}    
?>
Si quieres, tambien puedes agregarlo al final el dia, fecha, hora, etc. Como para hacerlo mas dificil de tener dos o mas archivos iguales.

Saludos, mauro