Foros del Web » Programando para Internet » PHP »

Subir archivos y Renombrarlos

Estas en el tema de Subir archivos y Renombrarlos en el foro de PHP en Foros del Web. Hola, necesito ayuda con un script que me permite subir muchos archivos al servidor al mismo tiempo via el navegador. Mi dilema se encuentra en ...
  #1 (permalink)  
Antiguo 23/01/2006, 14:53
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
Exclamación Subir archivos y Renombrarlos

Hola, necesito ayuda con un script que me permite subir muchos archivos al servidor al mismo tiempo via el navegador. Mi dilema se encuentra en la parte del script que me permite renombrar el archivo para evitar que haya problemas de duplicación en el servidor.

He logrado modificar esta parte al punto de que el script cambia el nombre original del archivo de la siguiente manera, por ejemplo: supongamos que acabo de insertar un nuevo registro a la base de datos con un id de 9 y ahora quiero subir 4 imagenes relacionadas con ese archivo cuyos nombres son: pic1.jpg, pic2.jpg, pic3.jpg y pic4.jpg

El script tal cual como lo he logrado modificar, lo que haría sería renombrar estos 4 archivos en orden de la siguiente manera: 1-9.jpg, 2-9.jpg, 3-9.jpg y 4-9.jpg (el primer número indica el orden del archivo en que fue subido y el segundo después del guión, lo relaciona con el id del último registro).

Sin embargo, yo lo quisiera cambiar mejor de la siguiente manera: 9a.jpg, 9b.jpg, 9c.jpg y 9d.jpg (el primero es el número de la id del último registro insertado en la base de datos y la letra se refiere al orden en que fue subido el archivo).

¿CÓMO PUEDO LOGRAR ESTO ÚLTIMO?

Esta es la parte del script que renombra los archivos:

Código PHP:
For($i=0$i <= $file_uploads-1$i++) {
                    
        If(
$_FILES['file']['name'][$i]) {
                        
            
$ext=get_ext($_FILES['file']['name'][$i]);
            
$size=$_FILES['file']['size'][$i];
            
$max_bytes=$max_file_size*1024;
            
            
$id=mysql_insert_id();
            
            
// For renaming
            
If($random_name){
            
                
$file_name[$i]= $i+"-" .  $id .".".$ext;
            } Else {
                
$file_name[$i]=$_FILES['file']['name'][$i];
            } 
GRACIAS DE ANTEMANO
  #2 (permalink)  
Antiguo 23/01/2006, 16:06
 
Fecha de Ingreso: febrero-2005
Mensajes: 187
Antigüedad: 19 años, 2 meses
Puntos: 2
porque no haces una matriz con las letras hasta la z


$letras= array(a,b,c,d,e....);

luego haces esto:

$file_name[$i]= $id . "-" . $letras[$i] .".".$ext;
__________________
___________________________
Hosting y Dominios en colombia
Blog de Cubica
  #3 (permalink)  
Antiguo 23/01/2006, 19:17
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
De acuerdo

Hola, encontré esta solución, la pongo en el foro para futura referencia, espero les sirva. Gracias por la ayuda

Código PHP:
For($i=0$i <= $file_uploads-1$i++) {
                    
        If(
$_FILES['file']['name'][$i]) {
                        
            
$ext=get_ext($_FILES['file']['name'][$i]);
            
$size=$_FILES['file']['size'][$i];
            
$max_bytes=$max_file_size*1024;
            
            
// Comienza el script para renombrar
            
If($random_name){
            
            
$abc = array('a','b','c','d','e','f'); //comienza modificación
            
for ($a=0;$a<count($abc);++$a)
            
$file_name[$a]= $id "" .  $abc[$a] .".".$ext;
            
            } Else {
                
$file_name[$i]=$_FILES['file']['name'][$i];
            } 
SALUDOS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:32.