Fonctions diverses
PHP Manual

uniqid

(PHP 4, PHP 5, PHP 7)

uniqidGénère un identifiant unique

Description

string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )

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

Avertissement

Cette fonction ne crée pas une chaîne aléatoire ni non-devinable. Cette fonction ne peut être utilisée dans un but de sécurité. Utilisez une fonction/générateur sécurisé, aléatoire et cryptologique, ainsi que son hash pour créer des ID sécurisés.

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, sous la forme d'une chaîne de caractères.

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

Attention

Cette fonction ne génère pas un jeton cryptographiquement sécurisé. En fait, sans passer aucun paramètre supplémentaire, la valeur retournée est à peine différente de celle renvoyée par la fonction microtime(). Si vous devez générer des jetons cryptographiques de sécurité, utilisez la fonction openssl_random_pseudo_bytes().

Note:

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


Fonctions diverses
PHP Manual