note 116982 deleted from function.com-create-guid by tularis
| From: | tularis@php.net | Date: | Mon, 30 Mar 2015 21:49:46 +0000 |
| Subject: | note 116982 deleted from function.com-create-guid by tularis | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-202087@lists.php.net to get a copy of this message | ||
Note Submitter: Mark at Briley dot com
----
Kristof_Polleunis at yahoo dot com has a great routine but I think it could be improved by modifying
it to be:
<?php
#
# Taken from the PHP documentation website.
#
# Kristof_Polleunis at yahoo dot com
#
# A guid function that works in all php versions:
# MEM 3/30/2015 : Modified to allow the automatic removal of the curly braces.
#
function guid( $opt = true ){ // Set to your default value true/false.
if( function_exists('com_create_guid') ){
if( $opt ){ return com_create_guid(); }
else { return rtrim( 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 ); // "-"
$left_curly = $opt ? chr(123) : ""; // "{"
$right_curly = $opt ? chr(125) : ""; // "}"
$uuid = $left_curly
. substr( $charid, 0, 8 ) . $hyphen
. substr( $charid, 8, 4 ) . $hyphen
. substr( $charid, 12, 4 ) . $hyphen
. substr( $charid, 16, 4 ) . $hyphen
. substr( $charid, 20, 12 )
. $right_curly;
return $uuid;
}
}
?>
In this way, whoever wants to use the function can easily turn off the curly brackets. In my case,
I always want them turned off but just in case - I can turn them back on by just sending TRUE to the
function.