Foros del Web » Programando para Internet » PHP »

Dar nombre diferente a una imagen

Estas en el tema de Dar nombre diferente a una imagen en el foro de PHP en Foros del Web. Hola, tengo un script q sube imágenes a mi servidor. Hasta ahí todo bien. El tema es que no quiero q dos imágenes -obviamente- tengan ...
  #1 (permalink)  
Antiguo 06/10/2009, 13:45
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Dar nombre diferente a una imagen

Hola,

tengo un script q sube imágenes a mi servidor. Hasta ahí todo bien. El tema es que no quiero q dos imágenes -obviamente- tengan el mismo nombre y se sobreescriban, es decir q 2 usuarios suban casualmente su imagen y le pongan el mismo nombre.

He urgado un poco por ahí y he visto algo pero no estoy seguro. Se me ocurre q podría ponerle el nombre de la foto yo mismo, y q sea una combinación por un lado de:

- FECHA: formato AA/MM/DD - HH MM SS, es decir: AAMMDDHHMMSS
y a eso añadir -concatenando- un número aleatorio de, pongamos, 3 cifras.

es correcto? hay alguna otra forma de hacerlo? (por ejemplo viendo si ya hay algún archivo -imagen- con ese nombre, etc.

gracias
  #2 (permalink)  
Antiguo 06/10/2009, 13:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Dar nombre diferente a una imagen

estas en lo correcto!!

claro... es buena forma de hacerlo, concatenando números aleatorios, o lo que sea..
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/10/2009, 13:52
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Dar nombre diferente a una imagen

pues el formato de FECHA que pones a mi parecer seria muchisimo mejor o si por ejemplo tienes un gestor de usuarios ponerlo en formato usuario_NOMBREIMAGEN de esa forma seria mejor.... por que de otra forma tendrias que cambiar el nombre en esta linea:

@move_uploaded_file(tus_parametros_aqui);

pero al cambiarle el nomnbre tendrias que verificar si el nuevo nombre tampoco existe, si me explico?

Ejemplo:

Usuario A.... sube una imagen llamada IMG01
Usuario B.... sube una imagen de igual nombre IMG01... se valida y nos damos cuenta que ya existe entonces se pocede a cambiar el nombre a IMG02 pero... resulta que IMG02 ya estaba en el servidor entonces!! tendriamos que regresar a la validación para recorrer nuevamente la validación... asi que ahi estan mis opciones ojalá alguien postee una más fácil seria muy bueno.


Saludos
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 06/10/2009, 13:52
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: Dar nombre diferente a una imagen

yo tambien he usado, la forma de concatenar un numero aleatorio + ID del usuario que lo sube + fecha + algun prefijo...
__________________
Me junto con los que Saben, Queriendo Saber.
  #5 (permalink)  
Antiguo 06/10/2009, 14:06
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
sí, lo perfecto sería incluso poner sólo el id -en mi caso autonumérico- del usuario.

lo q ocurre es q en el insert meto id -autonum- y nombre de la imagen, todo en uno, por lo q no sé hasta el último momento el nombre del id. es decir, q no hace falta registrarse para meter y subir datos en mi servidor.

de la misma se inserta todo. espero haberme explicado.

Estoy pensando, para ser todavía más preciso, utilizar la función:

Microtime()

la cual consta de dos partes:

2ª parte: el número de segundos transcurridos desde el 1/1/1970

1ª parte: ni idea, un número decimal muy raro, por ej.: 0.87183200

alguien me puede decir q es esta segunda parte? pueden ser microsegundos? pq eso casi solucionaría lo q he preguntado al principio.

gracias

Última edición por GatorV; 07/10/2009 a las 09:54
  #6 (permalink)  
Antiguo 06/10/2009, 16:05
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Dar nombre diferente a una imagen

microsegundos.

para redondearlos podrias usar: round(microtime(true));
__________________
Hospedaje Web al mejor costo!
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 07:06.