2012-08-28 39 views
1

我需要根據當前的日期和時間在php中生成一個唯一的ID,以保存我正在運行代碼的日誌。 即每次運行代碼時,它都應該能夠根據當前日期和時間生成唯一的ID。如何根據當前的數據和時間在php中生成唯一的ID?

希望我對我的問題很清楚。怎麼做?

+0

使用時間戳,它始終是唯一的 – amitchhajer

+3

amitchajer,不,他們不是。 –

+0

'time();'? – 2012-08-28 06:35:19

回答

4

使用時間()創建排序的唯一ID的

連接字符串也將進一步隨機你想要的結果,仍然保持它的排序。手動here

$uniqueId= time().'-'.mt_rand(); 
+0

不錯的..希望現在不會有任何衝突..謝謝。 – user1518659

1

這是你在找什麼? uniqid()

從DOC:

獲取基於在微秒當前時間的前綴唯一標識符。

+0

它會根據時間生成uniqueid()嗎?如果是的話,如果有時間衝突會發生什麼......我不清楚..我需要一個手動代碼,每次運行代碼時都會生成唯一的ID @Mythril – user1518659

+0

如果您的ID生成了,您可能會得到相同的ID在相同的微秒。這很困難,但可能發生。你可以通過添加一個隨機字符串來讓它更難 - 基本技術是很好的恕我直言。 –

+0

http://php.net/manual/en/function.uniqid.php文檔指出你可以提供一個前綴和一個熵源。 –

0

您可以使用和uniqid()組合time()像這樣:

$s = uniqid(time(), true); 

輸出示例:

1346136883503c6b3330caf5.19553126 
+0

我們也可以將函數md5'md5(uniqid(time(),true))'的唯一id的生成複雜化。 – B2GraphiX

相關問題