Unique avec rand() ?
Bonjour, est ce que la fonction PHP rand() génère une code unique et qui sera repris ?
Merci d'avance.
Merci d'avance.
Configuration: Windows 7 Firefox 3.5.6
8 réponses
-
salut,
https://www.commentcamarche.net/faq/7070-generer-des-nombres-aleatoires-efficacement-avec-rand -
Oui, rand() fait une valeur aléatoire mais est ce que c'est possible que une même valeur reviens 2 fois ou plus ?
-
oui c'est possible
-
possible mais peu ,probalble
-
Ok, donc pour un script d'hébergement d'images, au moment du renommage de l'image (pour évité que si une image a le même nom que un autre déjà héberger sa la remplace par l'ancienne), je peux utiliser rand() ?
-
Personne ?...
-
Toujours personne ?
-
bonsoir,
tu peux faire ça par exemple pour avoir des nom plus propres et être certain que tu n'aura pas 2 fois le même
function fileRename($fileName) { if(is_file($fileName)) { $ext = strrchr($fileName,'.'); $fileName = substr($fileName,0,'-'.strlen($ext)); $ext = strtolower(substr($ext,1)); for($i=1;is_file($fileName.$i.'.'.$ext);$i++); return $fileName .$i.'.'.$ext; } else return $fileName; }
sinon avec rand il vaut mieux faire a peu près la même chose pour en être certain comme ça par exemple :
function fileRename($fileName) { if(is_file($fileName)) { $ext = strrchr($fileName,'.'); $fileName = substr($fileName,0,'-'.strlen($ext)); $ext = strtolower(substr($ext,1)); do $tempName = $fileName.mt_rand().'.'.$ext; while(is_file($tempName)); return $tempName; } else return $fileName; }