Esta sección ha sido aprobado por expertos así se garantiza la veracidad de este artículo.
Solución:
intenta usar el php uniqid
método para generar la identificación única que necesita
http://php.net/manual/en/function.uniqid.php
$RandomAccountNumber = uniqid();
move_uploaded_file($ProfilePicTemp, "Content/" . $RandomAccountNumber);
Cuando subo imágenes, generalmente las guardo como el sha1()
del contenido de la imagen (sha1_file()
). De esa manera, obtienes dos pájaros de un tiro: nunca (si lo haces, completa la lotería más cercana) obtendrás nombres de archivo duplicados, Y evitarás imágenes duplicadas (porque las imágenes duplicadas tendrían la misma suma de verificación) .
Luego, tiene una base de datos para clasificar qué imagen es cuál y mostrarlas correctamente al usuario.
Esto es lo que uso cuando subo imágenes: una combinación de session_id(), time() y un aleatorio string:
$rand = genRandomString();
$final_filename = $rand."_".session_id()."_".time();
function genRandomString()
$length = 5;
$characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWZYZ";
$real_string_length = strlen($characters) ;
$string="id";
for ($p = 0; $p < $length; $p++)
$string .= $characters[mt_rand(0, $real_string_length-1)];
return strtolower($string);
Espero esta ayuda.