该uniqid使用()函数的PHP

该uniqid使用()函数的PHP
本文阐述了uniqid使用()函数在PHP。分享给你供你参考。具体方法如下:

的uniqid()函数生成一个基于微秒计目前唯一的ID。

注意:由于系统时间,这个函数生成的ID不是最好的。如果需要生成绝对唯一的ID,请使用MD5()函数(请在字符串函数引用中查找)。

复制代码代码如下:< PHP

uniqid(回声);

>

这个示例生成一个32字符的惟一字符串。

复制代码代码如下:< PHP

$令牌= MD5(uniqid(RAND())));

回波$令牌;

>
Uniqid()返回一个基于当前时间精确到微秒的前缀的独特身份。

它只是基于当前的时间,但它不能解释与当前时间的关系。

回声uniqid();你可以看到uniqid总是在不断变化13长十六号。

请看下面的代码:

复制代码代码如下:< PHP

Echo hexdec (uniqid ()) / (time () +microtime ());

>

产量基本上在1048576左右。

可以得出结论,uniqid是当前时间精确到微秒,乘以1048576(2的2的20的功率),最后转换为十六。

当你知道uniqid和时间之间的关系,uniqid能够得到更加广泛的应用,例如,在一个论坛,你可以使用uniqid作为后文件名。

在邮政索引中,按时间查找邮件是非常方便的。

结合上面和下面的代码,我认为他的角色是生成一个不重复的32位字符。

(uniqid)函数本身是基于当前时间以微秒计,所以在高并发的情况下会反复出现,解决的方法是一个随机数,你可以在这个前提下再生,并产生一个新的号码,这将减少重复的概率。如果你想更精确,你也可以添加客户端的IP的MD5码的同代人,所以重复的概率应该是很低的,这几乎是不可能重复。

复制代码代码如下:< PHP

函数getRand(){

返回uniqid()。兰德(1, 100000);

}

回声getRand();

出口;

>

希望本文能对大家的PHP程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部