Foros del Web » Programando para Internet » PHP »

Generar un id diferente en bucle for

Estas en el tema de Generar un id diferente en bucle for en el foro de PHP en Foros del Web. Uso varios campos file que envian fotos , en concreto 3 pero necesito que se genere para cada foto un id diferente pero al subirlas ...
  #1 (permalink)  
Antiguo 12/04/2014, 13:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Generar un id diferente en bucle for

Uso varios campos file que envian fotos , en concreto 3 pero necesito que se genere para cada foto un id diferente pero al subirlas juntas solo me da el mismo id a todas

Código PHP:
 for ($i=0;$i<3;$i++)
    {

/// nombre foto ///
    
$id_pic=date("dmYHis"):

    
//Diferente id en cada una

move_uploaded_file($_FILES['pic'][tmp_name][''.upload.'_'.$i.''],$dir_up."".$id_pic."");    


    } 

He tratado usar md5 aplicado al nombre real de la foto pero un usuario puede tener varias fotos con el mismo nombre de ahi que quisiera generar un id diferente pro cada vuelta y pense en usar el tema del time , para asignar ese nombre

A ver si me pueden decir algo , saludos y gracias
  #2 (permalink)  
Antiguo 12/04/2014, 14:32
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Generar un id diferente en bucle for

Si el usuario puede subir de una a más imágenes y quieres darle un identificador diferente a cada una, puedes hacerlo así:

Código PHP:
Ver original
  1. foreach ($_FILES["pic"]["name"] as $clave => $valor){
  2.     $original_name = $_FILES["pic"]["name"][$clave]; //Nombre original con el tipo de imagen
  3.     $name =  substr($original_name, 0, strrpos($original_name, ".")); //Nombre original sin el tipo
  4.     $name .= "_"; //Con un guión bajo, uniremos al nombre con el número identificador
  5.     $name .= $clave; //Número de imagen
  6.     $name .= substr($original_name, strrpos($original_name, ".")); //Tipo original de la imagen
  7.     $tmp_name = $_FILES["pic"]["tmp_name"][$clave];
  8.     $directorio = "../ejemplo/";
  9.  
  10.     move_uploaded_file($tmp_name, $directorio . $name);
  11. }

No sé si esto es lo que buscas, pero creo te puede dar una idea.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 12/04/2014, 16:10
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 6 meses
Puntos: 43
Respuesta: Generar un id diferente en bucle for

Te da lo mismo porque estás usando la fecha con horas minutos y segundos. Como tarda menos de un segundo en hacer todo siempre da el mismo valor. Tendría que tardar más de un segundo por cada imagen para que te de un valor distinto.

Al subirlas no guardas los datos en una base de datos? No la imagen, sino un registro de las imágenes. Podrías usar el ID de la tabla.

Etiquetas: bucle, diferente
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 01:21.