Unique avec rand() ?

Bonjour, est ce que la fonction PHP rand() génère une code unique et qui sera repris ?

Merci d'avance.
Configuration: Windows 7
Firefox 3.5.6

8 réponses

  1. salut,
    https://www.commentcamarche.net/faq/7070-generer-des-nombres-aleatoires-efficacement-avec-rand
    1. Oui, rand() fait une valeur aléatoire mais est ce que c'est possible que une même valeur reviens 2 fois ou plus ?
      1. 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() ?
        1. 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;
          	}