uniqid
(PHP 4, PHP 5)
uniqid — Génère un identifiant unique
Description
$prefix = ""
[, bool $more_entropy = false
]] )Génère un identifiant unique, préfixé, basé sur la date et heure courante en microsecondes.
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 IDs 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. Simore_entropyest àTRUE, elle fera 23 caractères. -
more_entropy -
Si le paramètre optionnel
more_entropyestTRUE, 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 pouvez é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
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_entropydoit être passé àTRUEpour que cette fonction fonctionne.