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