萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php生成uuid格式字符串

php生成uuid格式字符串

   UUID是指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平台會提供生成UUID的API。UUID按照開放軟件基金會(OSF)制定的標准計算,用到了以太網卡地址、納秒級時間、芯片ID碼和許多可能的數字。由以下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,如果你在生成一個UUID之後,過幾秒又生成一個UUID,則第一個部分不同,其余相同),時鐘序列,全局唯一的IEEE機器識別號(如果有網卡,從網卡獲得,沒有網卡以其他方式獲得),UUID的唯一缺陷在於生成的結果串會比較長。關於UUID這個標准使用最普遍的是微軟的GUID(Globals Unique Identifiers)。

  在ColdFusion中可以用CreateUUID()函數很簡單的生成UUID,其格式為:xxxxxxxx-xxxx-xxxx- xxxxxxxxxxxxxxxx(8-4-4-16),其中每個 x 是 0-9 或 a-f 范圍內的一個十六進制的數字。而標准的UUID格式為:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)

 代碼如下  

<?php 
function guid(){ 
    if (function_exists('com_create_guid')){ 
        return com_create_guid(); 
    }else{ 
        mt_srand((double)microtime()*10000);
//optional for php 4.2.0 and up. 
        $charid = strtoupper(md5(uniqid(rand(), true))); 
        $hyphen = chr(45);
// "-" 
        $uuid = chr(123)
// "{" 
                .substr($charid, 0, 8).$hyphen
                .substr($charid, 8, 4).$hyphen
                .substr($charid,12, 4).$hyphen
                .substr($charid,16, 4).$hyphen
                .substr($charid,20,12) 
                .chr(125);
// "}" 
        return $uuid; 
    } 

?>

copyright © 萬盛學電腦網 all rights reserved