(PHP 4, PHP 5, PHP 7, PHP 8)
uniqid â GĂ©nĂšre un identifiant basĂ© sur le temps
GénÚre un identifiant basé sur l'heure actuelle avec une précision à la microseconde,
préfixé par le prefix donné et ajoutant
éventuellement une valeur générée aléatoirement.
Cette fonction ne gĂ©nĂšre pas de valeurs cryptographiquement sĂ»res, et ne doit pas ĂȘtre utilisĂ©e Ă des fins cryptographiques, ou Ă des fins qui exigent que les valeurs renvoyĂ©es soient indĂ©chiffrables.
Si de l'alĂ©atoire cryptographiquement sĂ»re est requis, le Random\Randomizer peut ĂȘtre utilisĂ© avec le moteur Random\Engine\Secure. Pour des cas d'usage simple, les fonctions random_int() et random_bytes() fournissent une API pratique et sĂ»re qui est qui est soutenu par le CSPRNG du systĂšme d'exploitation.
Cette fonction ne garantit pas l'unicité de la valeur retournée
car celle-ci est basée sur l'heure actuelle en microsecondes
ou sur l'heure actuelle avec une petite quantité de données aléatoires ajoutées
si more_entropy est true.
prefixPeut ĂȘtre utile, par exemple, pour identifier facilement diffĂ©rents hĂŽtes, si on gĂ©nĂšre simultanĂ©ment sur plusieurs hĂŽtes pouvant gĂ©nĂ©rer le mĂȘme identifiant Ă la mĂȘme microseconde. (Cela peut se produire mĂȘme sur un seul hĂŽte si l'horloge systĂšme est dĂ©placĂ©e en arriĂšre, par exemple par un ajustement NTP.)
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.
Retourne un identifiant basé sur l'horodatage, sous la forme d'une chaßne de caractÚres.
Cette fonction ne garantit pas l'unicité de la valeur retournée.
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));
?>Note:
Sous Cygwin, le paramĂštre
more_entropydoit ĂȘtre passĂ© Ătruepour que cette fonction fonctionne.