PHP 生成UUID的方法

时间:2023-03-08 17:25:50
PHP 生成UUID的方法
 1 public function guid(){
 2     //检测是否存在函数
 3     if (function_exists('com_create_guid')){
 4         //创建全局唯一UUID标识.
 5         return com_create_guid();
 6     } else {
 7         //随机数生成器. php4.2.0以上版本支持.
 8         mt_srand((double)microtime() * 10000);
 9         //基于以微秒计的当前时间,生成一个唯一的 ID
         $unid = uniqid(rand(), true);
         //将字符串转换为大写.
         $charid = strtoupper(md5( $unid ));
         // 从指定的 ASCII 值返回字符 "-"
         $hyphen = chr(45);
         // 从指定的 ASCII 值返回字符 "{"
         $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);// 从指定的 ASCII 值返回字符 "}"
         return $uuid;
     }
 }