php唯一查询码怎么生成

php唯一查询码怎么生成

内容导读

收集整理的这篇技术教程文章主要介绍了php唯一查询码怎么生成,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1655字,纯文字阅读大概需要3分钟

内容图文

php生成唯一唯一查询码的方法实例

php 生成唯一id,有很多的方法。

1、md5(time() . mt_rand(1,1000000));

这种方法有一定的概率会出现重复。

2、php内置函数uniqid()

uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。

function uuid() {

if (function_exists ( 'com_create_guid' )) {



return com_create_guid ();

} else {



mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.随便数播种,4.2.0以后不需要了。



$charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //根据当前时间(微秒计)生成唯一id.



$hyphen = chr ( 45 ); // "-"



$uuid = '' . //chr(123)// "{"substr ( $charid, 0, 8 ) . $hyphen . substr ( $charid, 8, 4 ) . $hyphen . substr ( $charid, 12, 4 ) . $hyphen . substr ( $charid, 16, 4 ) . $hyphen . substr ( $charid, 20, 12 );



//.chr(125);// "}"



return $uuid;

}}

com_create_guid()是php自带的生成唯一id方法,php5之后貌似已经没有了。
3、官方uniqid()参考手册有用户提供的方法,结果类似:{E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}

public function create_guid($namespace = '') {



 static $guid = '';

$uid = uniqid("", true);

$data = $namespace;

$data .= $_SERVER['REQUEST_TIME'];

$data .= $_SERVER['HTTP_USER_AGENT'];

$data .= $_SERVER['LOCAL_ADDR'];

$data .= $_SERVER['LOCAL_PORT'];

$data .= $_SERVER['REMOTE_ADDR'];

$data .= $_SERVER['REMOTE_PORT'];

$hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));

$guid = '{' .






 substr($hash,
0,
8) .





 '-' .





substr($hash,
8,
4) .





'-' .





substr($hash, 12,
4) .





'-' .





substr($hash, 16,
4) .





'-' .





substr($hash, 20, 12) .





'}';

return $guid;
}

推荐教程:PHP视频教程

以上就是php唯一查询码怎么生成的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php唯一查询码怎么生成全部内容,希望文章能够帮你解决php唯一查询码怎么生成所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com