Maison  >  Article  >  développement back-end  >  Comment utiliser la fonction uniqid en php pour générer un identifiant unique

Comment utiliser la fonction uniqid en php pour générer un identifiant unique

不言
不言original
2018-12-26 14:26:194675parcourir

Uniqid en PHP est une fonction qui génère une valeur unique (ID) basée sur l'heure actuelle. Dans l'article suivant, nous présenterons en détail comment la fonction uniqid en PHP génère un ID unique.

Comment utiliser la fonction uniqid en php pour générer un identifiant unique

Bien qu'uniqid en Comment utiliser la fonction uniqid en php pour générer un identifiant unique génère une valeur unique, elle est basée sur l'heure actuelle en microsecondes sur plusieurs serveurs en même temps, donc la même valeur peut être générée lors de l'exécution valeur unique.

Ce problème peut être évité en spécifiant un paramètre à l'aide d'un préfixe. Il utilise la fonction rand pour attribuer une valeur aléatoire au préfixe.

De plus, il peut être utilisé pour télécharger des images et des fichiers, par exemple pour générer des noms de fichiers lors de l'enregistrement des fichiers téléchargés.

Notez qu'uniqid est vulnérable aux attaques du cryptosystème, alors ne l'utilisez pas comme mot de passe !

Comment utiliser uniqid

Le premier paramètre est le préfixe.

Le deuxième paramètre précise vrai/faux s'il faut augmenter le nombre de caractères à générer. Par défaut, le deuxième paramètre est faux et le nombre de caractères générés est de 13 caractères.

Jetons un coup d'oeil à la méthode d'écriture spécifique de uniqid

1. Confirmez qu'elle est différente selon la présence ou l'absence du premier argument.

echo uniqid();          //  生成13个字符的字符串
echo uniqid("""");        // 指定参数为空,返回的字符串长度也为13
echo uniqid(""prefix_""); // 生成13个字符的字符串输出到“prefix_”

2. Définissez le deuxième paramètre

echo uniqid("""", false);          //生成13个字符的字符串
echo uniqid(""prefix_"", false);   // 在“prefix_”之后,输出由13个字符生成的字符串

echo uniqid("""", true);          // 生成23个字符的字符串
echo uniqid(""prefix_"", true);   // 在“prefix_”之后,输出由23个字符生成的字符串

3. Envisagez d'exécuter simultanément sur plusieurs serveurs .

echo uniqid(rand().'_');   // 在“rand()_”之后输出由13个字符生成的字符串

Cet article se termine ici. Pour un contenu plus passionnant, vous pouvez prêter attention aux autres tutoriels de colonnes sur le site Web Comment utiliser la fonction uniqid en php pour générer un identifiant unique chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn