百度首页 | 百度空间
 
查看文章
 
php下生成guid要用到class
2007-11-29 14:03

php下生成guid要用到class .
guid.class.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.php文件
<?php
require_once("guid.class.php");
$Guid = new Guid();
print $Guid->toString();
?>


类别:Php | 添加到搜藏 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
1
2007-12-11 15:16
N久不更新了。。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu