PHP下生成GUID(已测)

44 篇文章 0 订阅
 

guid.class.php 文件

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);   
    }   
}   
?> 

使用
PHP代码
<?php    
require_once("guid.class.php");    
$Guid = new Guid();    
print $Guid->toString();    
?>    



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值