2010-12-06 7 views

Respuesta

25

Normalmente, creo un UID utilizando la función uniqid() para el nombre del archivo o creo una carpeta con el nombre del nombre de usuario que está cargando el archivo y dejo el nombre del archivo original. La desventaja de la primera es que tendrá que guardar el nombre del archivo original en alguna parte para mostrarlo al usuario.

+0

gracias, justo lo que estaba buscando. – Adamski

4

Puede usar la marca de tiempo unix de cuando se cargó el archivo. Si espera que se realicen varias cargas simultáneamente, puede agregar una identificación de usuario única o parte del nombre del archivo original.

+0

? Buena idea, microtime() es excelente para una sola carcasa de usuario. – Melsi

1

$ nombre de usuario. $ Fecha y hora. $ RandomNumber

o usted podría reconsiderar esto si no quiere que la gente a conocer los detalles de cuando fue subido y por quién

1

Algo así como:

md5(date('Y-m-d H:i:s:u')); 

Sh debería funcionar bien.

+8

Hashes no son únicos. – afilina

+0

@afilina ¿Por qué los hashes no son únicos? –

+0

Existe la posibilidad de una colisión con MD5 o cualquier función de hashing, pero eso es improbable para la mayoría de los casos de uso. Mi respuesta original es de 2010. Use sha256, la posibilidad de una colisión es muy, muy baja https://stackoverflow.com/questions/4014090/is-it-safe-to-ignore-the-possibility-of-sha-collisions -en la práctica – systematical

Cuestiones relacionadas