php生成不重复时间戳,PHP获取时间戳和微秒数以及生成唯一ID
microtime函數(shù)
描述:返回當前Unix時間戳和微秒數(shù)
語法:mixed microtime( [ bool $get_as_float ] )
//直接輸出
echo microtime();
//得到的是 如:0.26672100 1585622985 前面是當前微秒數(shù),后面是正常時間戳,中間以空格分隔開
//如果帶有參數(shù)(布爾型參數(shù))
echo microtime(true);
//輸出結(jié)果:1585623020.7408 剛才的微秒數(shù)就會以浮點數(shù)的形式表現(xiàn)在原有的時間戳之后
浮點數(shù)太長可進行格式化操作
round($float,3)表示保留到小數(shù)點后三位
uniqid函數(shù)
描述:生成唯一ID
語法:string uniqid( [ string $prefix = " " [, bool $more_entropy = false ]] )? 都是可選參數(shù)
第一個參數(shù)是前綴
echo uniqid("haha");//結(jié)果就是 haha......(后面是隨機生成的)
但是我們這個前綴是不變的話沒有意義,所以我們可以
uniqid( microtime() );
uniqid( microtime() . mt_rand() );
這個時候我們會發(fā)現(xiàn)它會有時間戳和隨機數(shù)+隨機ID,但是長度是不固定的
這時候我們可以使用uuid(產(chǎn)生唯一ID)
uuid 8-4-4-4-12的形式 正好是32位 (MD5是32位的)
echo md5(uniqid(microtime() . mt_rand())),'
';
這就產(chǎn)生一個UUID的形態(tài),這樣可以保證文件名即使在分布式環(huán)境下是唯一的 有些網(wǎng)站也會用網(wǎng)卡的mac地址,這個也是唯一的;
總結(jié)
以上是生活随笔為你收集整理的php生成不重复时间戳,PHP获取时间戳和微秒数以及生成唯一ID的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何做好一份简单而美味的烤蔬菜?
- 下一篇: 煲仔饭为什么叫煲仔饭?