码迷,mamicode.com
首页 > Web开发 > 详细

PHP获取时间戳和微秒数以及生成唯一ID

时间:2018-05-01 10:47:37      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:格式   分布式   oat   md5   语法   随机id   mac   分布   MIXED   

microtime函数

描述:返回当前Unix时间戳和微秒数

语法:mixed microtime( [ bool $get_as_float ] )

//直接输出
echo microtime();
//得到的是 如:0.26672100 1585622985 前面是当前微秒数,后面是正常时间戳,中间以空格分隔开

//如果带有参数(布尔型参数)
echo microtime(true);
//输出结果:1585623020.7408 刚才的微秒数就会以浮点数的形式表现在原有的时间戳之后

浮点数太长可进行格式化操作

round($float,3)表示保留到小数点后三位

 

uniqid函数

描述:生成唯一ID

语法:string uniqid( [ string $prefix = " " [, bool $more_entropy = false ]] )  都是可选参数

 

第一个参数是前缀

echo uniqid("haha");
//结果就是 haha......(后面是随机生成的)

但是我们这个前缀是不变的话没有意义,所以我们可以

uniqid( microtime() );

uniqid( microtime() . mt_rand() );

这个时候我们会发现它会有时间戳和随机数+随机ID,但是长度是不固定的

这时候我们可以使用uuid(产生唯一ID)

uuid 8-4-4-4-12的形式 正好是32位 (MD5是32位的)

echo md5(uniqid(microtime() . mt_rand())),‘<br>‘;

这就产生一个UUID的形态,这样可以保证文件名即使在分布式环境下是唯一的 有些网站也会用网卡的mac地址,这个也是唯一的;

 

PHP获取时间戳和微秒数以及生成唯一ID

标签:格式   分布式   oat   md5   语法   随机id   mac   分布   MIXED   

原文地址:https://www.cnblogs.com/leon-chung/p/8975473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!