使用com_create_guid()在 php 文件中可以生成 guid,但需要配置 com_dotnet 才能使用。
确定 php\ext 目录中已经下载好了 php_com_dotnet.dll,如果没有网上下载个,php7、php5.6 都已经内置了,只是没开启。
开启方法:
修改 php.ini 文件两个地址,修改后如果是 IIS 需要重启:
;extension=php_com_dotnet.dll 把前面的;注释号去掉,如果没有这行自己添加,weiku.co
;com.allow_dcom = true 把前面;注释去掉,设置为 true
运行 phpinfo() 查看:
Linux 不支持 com 的 Guid 生成兼容方式:
function getGUID(){
if (function_exists('com_create_guid')){
return strtolower(trim(com_create_guid(), '{}')); //去大括号转小写,weiku.co
}
else {
mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
$charid = strtoupper(md5(uniqid(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 = getGUID();
echo $GUID;