EDIT:
Huy! Me olvidé de esta antigua respuesta mía. Para aclarar la confusión creada por mi ingenuidad (consistente con los comentarios hechos a continuación): MD5 (como la mayoría de los hashes útiles) son no inyectiva, por lo que no se garantiza que su salida sea única para todas las entradas.
Si las colisiones hash son un problema (en este caso, lo son), el uso de esta técnica requerirá comprobar, después de hash, si ya se ha generado una clave idéntica.
Desde uniqid utiliza la hora actual en microsegundos para generar el GUID, no hay prácticamente ninguna posibilidad de que alguna vez se encuentra con el mismo dos veces.
Así que si solo lo está usando para crear nombres de archivo únicos, uniqid() será suficiente. Si desea evitar que los usuarios adivinen la guía, también podría dificultarla y md5.
me gusta la idea de que md5'ing :) –
Pero doesn MD5 preservar la singularidad – Gumbo
Si md5 una clave que ya es única, seguirá siendo única. – BraedenP