function create_guid()
{
$microTime = microtime();
list($a_dec, $a_sec) = explode(" ", $microTime);
$dec_hex = dechex($a_dec* 1000000);
$sec_hex = dechex($a_sec);
ensure_length($dec_hex, 5);
ensure_length($sec_hex, 6);
$guid = "";
$guid .= $dec_hex;
$guid .= create_guid_section(3);
$guid .= '-';
$guid .= create_guid_section(4);
$guid .= '-';
$guid .= create_guid_section(4);
$guid .= '-';
$guid .= create_guid_section(4);
$guid .= '-';
$guid .= $sec_hex;
$guid .= create_guid_section(6);
return $guid;
}
function create_guid_section($characters)
{
$return = "";
for($i=0; $i<$characters; $i++)
{
$return .= dechex(mt_rand(0,15));
}
return $return;
}
function ensure_length(&$string, $length)
{
$strlen = strlen($string);
if($strlen < $length)
{
$string = str_pad($string,$length,"0");
}
else if($strlen > $length)
{
$string = substr($string, 0, $length);
}
}
分享到:
相关推荐
在PHP中,生成UUID常常用于创建唯一的记录标识,比如数据库中的主键或者分布式系统中的唯一标识。本文将深入探讨如何使用PHP来实现UUID的生成。 一、开发环境 在Windows 8操作系统上,我们需要搭建一套LAMP(Linux...
该函数首先检查系统是否支持`com_create_guid`函数,这个函数在某些PHP安装版本中可用于生成UUID。如果支持,则直接使用此函数来生成UUID。 如果环境中的PHP版本不支持`com_create_guid`函数,该PHP函数示例就使用...
`ramsey/uuid` 是一个专门为PHP 5.4及更高版本设计的库,用于生成符合RFC 4122标准的不同版本的UUID。这个库由Bradley Ramsey开发,提供了一套完整的API来创建、解析和操作UUID。以下是对这个库的一些关键知识点的...
PHP创建短的UUID,1000000条无重复,UUID过长浪费存储空间,更换更小的适合。适合指定任意长度的UUID
在PHP编程中,数组生成树是一种常见的数据结构处理方式,特别是在构建层级关系或者表示具有父子关系的数据时。这种技术能够帮助我们有效地组织和操作数据,例如在网站菜单、组织架构或者文件系统中。本篇文章将深入...
由于 PHP 内置并没有提供生成 UUID 的函数,因此开发者常常需要自定义函数来实现这一功能。本文将详细讲解如何在 PHP 中生成 UUID 特别是 UUID Version 4。 UUID 是由128位数字组成的,通常以32个16进制数字表示,...
1. 自动生成UUID:当创建新模型实例时,自动为模型生成一个唯一的UUID。 2. 主键配置:自动将模型的主键设置为UUID类型,可能包括在迁移文件中定义合适的字段类型。 3. 数据库兼容性:支持多种数据库系统,如MySQL、...
2. **其他语言示例**:除了Java外,其他编程语言也有类似的库或函数用于生成UUID,例如Python的`uuid`模块、PHP的`uniqid()`函数等。 #### 六、UUID的重要性与应用场景 1. **数据管理**:在数据库管理和大数据处理...
ramsey / uuid是一个PHP库,用于生成和使用RFC 4122版本1、2、3、4和5通用唯一标识符(UUID)。 ramsey / uuid还支持可选和非标准功能,例如版本6 UUID,GUID和其他用于编码/解码UUID的方法。 通用唯一标识符(UUID...
该扩展包提供了一个在数据库迁移时使用UUID作为主键的功能,它能够自动为新建的记录生成UUID。安装该扩展包的步骤如下: 1. 使用Composer命令行工具安装依赖包,即执行以下命令: ``` composer require emadadly/...
无论运行 php composer.phar require --prefer-dist thamtech/yii2-uuid或添加 "thamtech/yii2-uuid": "*"到composer.json文件的require部分。用法新的UUID 生成一个新的UUID(默认为版本4): $ uuid = \thamtech\...
自动生成uuid 。 为表中的uuid列选择一个自定义名称。 (默认为'uuid') 选择生成的uuid的版本。 (默认为“ 4”) 检查uuid version和column name 。 (引发InvalidUuidVersionException和...
- 自动为模型生成UUID:在模型类中使用`use Spatie\Uuid\Uuid`并添加`$uuidColumn`属性来指定存储UUID的字段名。 ```php use Illuminate\Database\Eloquent\Model; use Spatie\Uuid\Uuid; class ExampleModel ...
ramsey / uuid是一个PHP库,用于生成和使用通用唯一标识符(UUID)。 该项目遵守《 。 通过参与该项目及其社区,您应该遵守此代码。 该库的许多灵感来自和 UUID库。 安装 首选的安装方法是通过 。 运行以下命令以...
配置UUID的生成方式也很简单,`eloquent-uuid`支持多种UUID版本,如V1(基于时间)、V4(随机生成)等。在模型中定义一个静态属性`$uuidVersion`来指定使用的UUID版本。例如,如果选择V4,代码应如下所示: ```php ...
OSSP uuid 是 ISO-C:1999 应用程序编程接口 (API) 和相应的命令行接口 (CLI),用于生成 DCE 1.1、ISO/IEC 11578:1996 和 RFC 4122 兼容的通用唯一标识符 (UUID)。 它支持版本 1(基于时间和节点)、版本 3(基于名称...