最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php GUID生成函數和類

 更新時間:2014年03月10日 13:17:38   作者:  
這篇文章主要介紹了使用php生成GUID的方法,分別使用了函數和類的方式生成GUID,詳細介紹了什么是GUID、GUID的優(yōu)點等,需要的朋友可以參考下

一、GUID簡介
GUID: 即Globally Unique Identifier(全球唯一標識符) 也稱作 UUID(Universally Unique IDentifier) 。 GUID是一個通過特定算法產生的二進制長度為128位的數字標識符,用于指示產品的唯一性。GUID 主要用于在擁有多個節(jié)點、多臺計算機的網絡或系統(tǒng)中,分配必須具有唯一性的標識符。
在 Windows 平臺上,GUID 廣泛應用于微軟的產品中,用于標識如如注冊表項、類及接口標識、數據庫、系統(tǒng)目錄等對象。
GUID 的格式為“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每個 x 是 0-9 或 a-f 范圍內的一個32位十六進制數。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即為有效的 GUID 值。
二、GUID的優(yōu)點
1.GUID在空間上和時間上具有唯一性,保證同一時間不同地方產生的數字不同。
2.世界上的任何兩臺計算機都不會生成重復的 GUID 值。
3.需要GUID的時候,可以完全由算法自動生成,不需要一個權威機構來管理。
4.GUID的長度固定,并且相對而言較短小,非常適合于排序、標識和存儲。
三、GUID生成函數

復制代碼 代碼如下:

function create_guid() {
    $charid = strtoupper(md5(uniqid(mt_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;
}

三、GUID生成類
PHP獲得GUID類:guid_class.php
復制代碼 代碼如下:

<?php   
class System   
{   
    function currentTimeMillis()   
    {   
        list($usec, $sec) = explode(" ",microtime());   
        return $sec.substr($usec, 2, 3);   
    }   
}   
class NetAddress   
{   
    var $Name = 'localhost';   
    var $IP = '127.0.0.1';   
    function getLocalHost() // static   
    {   
        $address = new NetAddress();   
        $address->Name = $_ENV["COMPUTERNAME"];   
        $address->IP = $_SERVER["SERVER_ADDR"];   
        return $address;   
    }   
    function toString()   
    {   
        return strtolower($this->Name.'/'.$this->IP);   
    }   
}   
class Random   
{   
    function nextLong()   
    {   
        $tmp = rand(0,1)?'-':'';   
        return $tmp.rand(1000, 9999).rand(1000, 9999).rand(1000, 9999).rand(100, 999).rand(100, 999);   
    }   
}   
// 三段   
// 一段是微秒 一段是地址 一段是隨機數   
class Guid   
{   
    var $valueBeforeMD5;   
    var $valueAfterMD5;   
    function Guid()   
    {   
        $this->getGuid();   
    }   
    //   
    function getGuid()   
    {   
        $address = NetAddress::getLocalHost();   
        $this->valueBeforeMD5 = $address->toString().':'.System::currentTimeMillis().':'.Random::nextLong();   
        $this->valueAfterMD5 = md5($this->valueBeforeMD5);   
    }   
    function newGuid()   
    {   
        $Guid = new Guid();   
        return $Guid;   
    }   
    function toString()   
    {   
        $raw = strtoupper($this->valueAfterMD5);   
        return substr($raw,0,8).'-'.substr($raw,8,4).'-'.substr($raw,12,4).'-'.substr($raw,16,4).'-'.substr($raw,20);   
    }   
}

GUID類使用方法:

復制代碼 代碼如下:

require_once("guid.class.php");   
$Guid = new Guid();   
print $Guid->toString();

相關文章

  • thinkPHP模板引擎用法示例

    thinkPHP模板引擎用法示例

    這篇文章主要介紹了thinkPHP模板引擎用法,結合實例形式分析了thinkPHP模板的基本原理與相關使用技巧,需要的朋友可以參考下
    2016-12-12
  • PHP中數組的分組排序實例

    PHP中數組的分組排序實例

    這篇文章主要介紹了PHP中數組的分組排序實例,對PHP數組分組排序的方法,需要的朋友可以參考下
    2014-06-06
  • Yii2.0中使用js異步刪除示例

    Yii2.0中使用js異步刪除示例

    本篇文章主要介紹了Yii2.0中使用js異步刪除示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • PHP rsa加密解密算法原理解析

    PHP rsa加密解密算法原理解析

    這篇文章主要介紹了PHP rsa加密解密算法原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • ThinkPHP模板之變量輸出、自定義函數與判斷語句用法

    ThinkPHP模板之變量輸出、自定義函數與判斷語句用法

    這篇文章主要介紹了ThinkPHP模板之變量輸出、自定義函數與判斷語句用法,是關于ThinkPHP模板操作中非常實用的技巧,需要的朋友可以參考下
    2014-11-11
  • ThinkPHP5框架實現簡單的批量查詢功能示例

    ThinkPHP5框架實現簡單的批量查詢功能示例

    這篇文章主要介紹了ThinkPHP5框架實現簡單的批量查詢功能,結合實例形式分析了thinkPHP5框架使用原生SQL語句查詢、批量查詢、快速查詢、聚合查詢等操作實現技巧,需要的朋友可以參考下
    2018-06-06
  • Centos7 Yum安裝PHP7.2流程教程詳解

    Centos7 Yum安裝PHP7.2流程教程詳解

    這篇文章主要介紹了Centos7Yum安裝PHP7.2流程,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • php解壓縮zip和rar壓縮包文件的方法

    php解壓縮zip和rar壓縮包文件的方法

    項目涉及文檔處理,用戶上傳的包括 zip 和 rar 壓縮包,需要先將壓縮包解壓后再作處理。這篇文章主要介紹了php解壓縮zip和rar壓縮包文件,需要的朋友可以參考下
    2019-07-07
  • php使用curl和正則表達式抓取網頁數據示例

    php使用curl和正則表達式抓取網頁數據示例

    這篇文章主要介紹了php使用curl和正則表達式抓取網頁數據示例,這里是抓取某網站的小說,需要的朋友可以修改一下抓取其它數據
    2014-04-04
  • thinkphp5.1驗證碼及驗證碼驗證功能的實現詳解

    thinkphp5.1驗證碼及驗證碼驗證功能的實現詳解

    這篇文章主要介紹了thinkphp5.1驗證碼及驗證碼驗證功能的實現詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01

最新評論

鄯善县| 太保市| 马公市| 北流市| 台湾省| 清丰县| 永德县| 德化县| 汝城县| 雷山县| 孟村| 昔阳县| 成武县| 舞阳县| 武平县| 彭州市| 石棉县| 孝感市| 宜阳县| 包头市| 家居| 兴文县| 堆龙德庆县| 鹤山市| 阿克| 肥城市| 安达市| 永宁县| 栖霞市| 常德市| 万全县| 资阳市| 莫力| 泰顺县| 田东县| 汾西县| 麦盖提县| 清涧县| 应城市| 高要市| 洪雅县|