The phunction PHP framework (http://sourceforge.net/projects/phunction/) uses the following function to generate valid version 4 UUIDs:
<?php
function GUID()
{
if (function_exists('com_create_guid') === true)
{
return trim(com_create_guid(), '{}');
}
return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
}
?>
The output generated by the sprintf() and mt_rand() calls is identical to com_create_guid() results.
com_create_guid
(PHP 5)
com_create_guid — Generar un identificador único globalmente (GUID)
Descripción
string com_create_guid
( void
)
Genera un identificador único globalmente (GUID: Globally Unique Identifier).
Un GUID es generado de la misma manera que el DCE UUID, excepto que la convención de Microsoft encierra un GUID entre llaves.
Valores devueltos
Devuelve el GUID como cadena.
Ver también
- uuid_create() en la extensión uuid de PECL
Alix Axel ¶
2 years ago
Kristof_Polleunis at yahoo dot com ¶
8 years ago
A guid function that works in all php versions:
<?php
function guid(){
if (function_exists('com_create_guid')){
return com_create_guid();
}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;
}
}
echo guid();
?>
