千家信息网

如何理解php GUID生成函数和类

发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,本篇内容主要讲解"如何理解php GUID生成函数和类",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何理解php GUID生成函数和类"吧!一、GUID
千家信息网最后更新 2025年11月16日如何理解php GUID生成函数和类

本篇内容主要讲解"如何理解php GUID生成函数和类",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何理解php GUID生成函数和类"吧!

一、GUID简介
GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。
GUID 的格式为"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。
二、GUID的优点
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

复制代码 代码如下:

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();

到此,相信大家对"如何理解php GUID生成函数和类"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

生成 代码 标识 函数 唯一性 标识符 不同 产品 内容 数字 方法 时间 算法 系统 计算机 长度 学习 实用 更深 有效 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器数据库数量 数据库ddl语言针对 深圳潮流网络技术有限公司简介 网络安全培训班教学计划 江西网络软件开发商家 个人简历 数据库泄漏 怎么开mc的本地服务器 网络安全企业服务资格认证 宝山区海航软件开发哪家便宜 数据库工作岗位 金融网络安全案列 数据库技术与程序设计答案 中国移动网络技术工程师面试 qcon全球软件开发大会怎么样 软件开发好网站 护苗网络安全读后感350 初中毕业能学计算机网络技术吗 我的世界服务器快捷重启 商丘软件开发税务筹划有哪些方法 软件开发什么岗位简单 java 棋牌服务器 查找数据库文件地址 做到高级软件开发后能做什么 湖北银河信息技术学院网络安全 宁夏谷道信息网络技术 我的世界基岩版服务器推荐网站 北京巨擎网络技术有限公司 阿里巴巴数据库设计 聘请网络安全专家的正式文件 闵行区品牌软件开发创新服务
0