Génère un identifiant unique

# uniqid

(PHP 4, PHP 5, PHP 7)

uniqid — Génère un identifiant unique

### Description

uniqid ([ string `$prefix` = "" [, bool `$more_entropy` = `FALSE` ]] ) : string

Génère un identifiant unique, préfixé, basé sur la date et heure courante en microsecondes.

Attention

Cette fonction ne génère pas de valeurs sécurisées d'un point de vue cryptographique, et ne doit pas être utilisée dans un contexte de chiffrement. Si vous avez besoin d'une valeur sécurisée d'un point de vue cryptographique, utilisez plutôt random_int(), random_bytes(), ou openssl_random_pseudo_bytes().

Avertissement

Cette fonction ne garantie pas l'unicité des valeurs de retour. Car la plupart des systèmes ajustent l'horloge système par NTP ou similaire; l'horloge système est modifié constament. Par conséquent, il est possible que cette fonction ne retourne pas un ID unique pour le processus/thread. Utiliser `more_entropy` pour augmenter la probabilité d'unicité.

### Liste de paramètres

`prefix`

  Peut être utile, par exemple, pour identifier facilement différents hôtes, si vous générez simultanément des fichiers depuis plusieurs hôtes, à la même microseconde.

  Sans `prefix` (préfixe vide), la chaîne retournée fera 13 caractères. Si `more_entropy` est à `TRUE`, elle fera 23 caractères.

`more_entropy`

  Si le paramètre optionnel `more_entropy` est `TRUE`, uniqid() ajoutera une entropie "combined LCG" à la fin de la valeur retournée, ce qui augmente la probabilité de l'unicité du résultat.

### Valeurs de retour

Retourne un identifiant unique basé sur l'horodatage, sous la forme d'une chaîne de caractères.

Avertissement

Cette fonction tente de créer un identifiant unique, mais l'unicité de la valeur de retour n'est pas garantie à 100%.

### Exemples

Exemple #1 Exemple avec uniqid()

`<?php
/* Un identifiant unique, comme : 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());
/* Nous pouvons également préfixer l'identifiant unique,
* ce qui revient à :
*
* $uniqid = $prefix . uniqid();
* $uniqid = uniqid($prefix);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
/* Nous pouvons aussi activer le paramètre more_entropy,
* requis par quelques systèmes, comme Cygwin. Ceci fera que
* uniqid() produira une valeur comme : 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>`

### Notes

> Note:

> Sous Cygwin, le paramètre `more_entropy` doit être passé à `TRUE` pour que cette fonction fonctionne.