PHP獲取時間戳和微秒數以及生成唯一ID


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地址,這個也是唯一的;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM