• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > PHP生成唯一ID的四种方法介绍

PHP生成唯一ID的四种方法介绍

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了PHP生成唯一ID,方法介绍等相关知识,希望对您有所帮助

PHP生成唯一ID的四种方法介绍


工作中使用到唯一ID的场景非常多,如临时缓存文件、临时变量、临时安全码等。

uniqid()函数基于以微妙计的当前时间,生成一个唯一的ID。由于生成唯一ID与微妙时间关联,因此生成ID的唯一性非常可靠。

生成的唯一ID默认返回的字符串有13个字符长,如果再结合MD5()函数,生成的唯一ID可靠性将更高,这种生成的ID比随机性的ID最大优点在于可实现排序,特别是一些需要存储在数据库中的值。当然在这里也可以加入随机数。

下面主要介绍4种生成唯一ID的方法:

1、MD5

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

注意:这种方法有一定的概率会出现重复

2、php内置函数uniqid()

uniqid()函数基于以微妙的当前时间,生成一个唯一的ID。

echo uniqid();echo uniqid();echo uniqid();OUTPUT:   5a4b62dd4aeea   5a4b62dd4aff7   5a4b62dd4b069

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

3、结合md5()函数生成一个唯一的ID

     echo md5(uniqid());OUTPUT:    0ac3d6e99b7f5290c93d730eaf9d7d94

4、手动去处理,官方给予的案例

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;}

返回结果类似:E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP生成唯一ID的四种方法介绍

相关文章

  • 2022-04-29防止SyntaxHighlighter.js的代码高亮时闪一下的解决方法
  • 2022-04-29浅析安卓app和微信授权登录及分享完整对接(代码分享)
  • 2022-04-29AI制作超强立体效果
  • 2022-04-29无需借助其他软件或者插件实现Chrome网页长截图
  • 2022-04-29Centos7如何启动与切换图形界面
  • 2022-04-29#1045 无法登录 MySQL 服务器的解决方法
  • 2022-04-29Thinkphp自带分页类样式转Bootstrap分页样式
  • 2022-04-29PS制作金属字教程
  • 2022-04-29PHP怎么设置上传图片大小
  • 2022-04-29微信小程序如何获取到openid和session_key

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Photoshop制作针织毛绒文字效果
    • 织梦DEDECMS建站SEO优化技巧大全
    • vue中data改变后让视图同步更新的方法
    • DedeCMS V6 发布!织梦CMS V6 新版上线
    • 微信小程序如何获取图片宽度与高度
    • WordPress如何将发表的文章时间显示为XX天前
    • WordPress官网429无法打开导致不能更新版本及插件问题解决方法
    • 提高关键词排名的28个SEO技巧
    • PhotoShop制作一款简单的螳螂绿色文字主题壁纸
    • PHP版抖音去水印代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有