Foros del Web » Programando para Internet » PHP »

Como crear nombre aleatorio y sin repetir

Estas en el tema de Como crear nombre aleatorio y sin repetir en el foro de PHP en Foros del Web. Hola amigos, Estoy tratando de hacer una especie de mercadillo para que la gente compre/venda productos a través de anuncios con texto y foto, con ...
  #1 (permalink)  
Antiguo 25/07/2005, 10:45
Avatar de sty
sty
 
Fecha de Ingreso: octubre-2003
Mensajes: 116
Antigüedad: 14 años, 1 mes
Puntos: 1
Como crear nombre aleatorio y sin repetir

Hola amigos,

Estoy tratando de hacer una especie de mercadillo para que la gente compre/venda productos a través de anuncios con texto y foto, con PHP y MYSQL.

Por un lado tenía ya preparado un formulario simple que insertaba filas (los anuncios) en la BD. Y por otro tenía un upload para subir imágenes (foto) al servidor directamente.
Aunque quisiera que las 2 cosas se hicieran a la vez, en un mismo formulario y página, no lo he conseguido puesto que cada uno me funciona por un método (Uno POST y el otro GET) y mezclarlos me ha sido imposible, por lo que primero hago subir la imagen al servidor (a través de POST), la siguiente página confirma que se ha subido, conservando una variable con el nombre de la imagen y con el formulario para publicar el anuncio que mandará la info a otra pagina que escribirá en la BD la información que se ha rellenado y el nombre de la imagen que se subio antes (mandando los datos mediante GET).

Hasta aquí creo que todo debería ir bien, pero...

Con el upload de imágenes, si alguien envía una foto con un nombre que ya existe en el servidor... sustituirá la existente por la nueva

¿Cómo puedo crear a las vez que subo las imágenes nombres aleatorios para las imágenes y que sean irrepetibles?

Aprovecho para que, si alguien tiene tiempo, me comente alguna forma menos engorrosa de hacer lo que estoy tratando de hacer. Si es que existe una forma más fácil.

Gracias por la ayuda!
  #2 (permalink)  
Antiguo 25/07/2005, 12:56
Avatar de illman  
Fecha de Ingreso: mayo-2001
Mensajes: 115
Antigüedad: 16 años, 7 meses
Puntos: 0
Un nombre aleatorio no me parece una buena solución pues puede darse el caso de que se repita y tengas el mismo problema. Una solución sería coger un patrón, por ejemplo, que las imágenes se llamen

anuncio_IDdeMYSQL
  #3 (permalink)  
Antiguo 25/07/2005, 13:05
Avatar de Giondo  
Fecha de Ingreso: diciembre-2002
Ubicación: en algun lugar del mundo
Mensajes: 565
Antigüedad: 15 años
Puntos: 0
otra solucion es agregarla fecha y hora al nombre del archivo asi jamas se repetiria!
__________________
Welcome to The Human Race
  #4 (permalink)  
Antiguo 26/07/2005, 06:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Totalmente de acuerdo con ambas respuestas...
- Para la primera puedes crear un id único con la función uniqid()... no necesariamente tiene que estar relacionado con MySQL: www.php.net/uniqid

- Para la segunda.. usa la función time(): www.php.net/time

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 17:06.