时间:2021-07-01 10:21:17 帮助过:22人阅读
|
本文介绍下,php生成全球唯一标识符guid的例子,有需要的朋友参考下。
1,创建php类库文件-guid.php
name = $coumputer_name;
$address->ip = $ip;
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($computer_name, $ip){
$this->getGuid($computer_name, $ip);
}
//by bbs.it-home.org
function getGuid($coumputer_name, $ip){
$address = NetAddress::getHost($coumputer_name, $ip);
$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);
}
}
?>
2,调用示例,生成唯一的Gid: toString(); //输出结果:3238D32E-807C-B1C4-01C4-FD1346D32110 ?> |