note 116983 added to function.com-create-guid
| From: | markatbrileydotcom | Date: | Mon, 30 Mar 2015 15:34:12 +0000 |
| Subject: | note 116983 added to function.com-create-guid | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-202083@lists.php.net to get a copy of this message | ||
I made a mistake on my previous note. I used rtrim instead of just trim to take off the curly
brackets. Here is my note again - or please change the RTRIM to just TRIM in my previous note.
Thanks! :-)
Kristof_Polleunis at yahoo dot com has an excellent function for obtaining a GUID but I believe it
can be improved by checking for whether or not to remove the curly braces so the programmer who uses
it doesn't have to do this. Here is the improved function:
<?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 the function to allow someone
# to specify whether or not they want the curly
# braces on the GUID.
#
function guid( $opt = true ){ // Set to true/false as your default way to do this.
if( function_exists('com_create_guid') ){
if( $opt ){ return com_create_guid(); }
else { return trim( 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;
}
}
?>
As the comments say - set the incoming option ($opt) to either TRUE or FALSE depending upon whether
you want the curly braces to always show up or not. If you need to obtain a GUID in the other way -
all you have to do is to send the opposite value to the function.
----
Server IP: 72.52.91.14
Probable Submitter: 66.196.239.162
----
Manual Page -- http://php.net/manual/en/function.com-create-guid.php
Edit -- https://master.php.net/note/edit/116983
Del: integrated -- https://master.php.net/note/delete/116983/integrated
Del: useless -- https://master.php.net/note/delete/116983/useless
Del: bad code -- https://master.php.net/note/delete/116983/bad+code
Del: spam -- https://master.php.net/note/delete/116983/spam
Del: non-english -- https://master.php.net/note/delete/116983/non-english
Del: in docs -- https://master.php.net/note/delete/116983/in+docs
Del: other reasons-- https://master.php.net/note/delete/116983
Reject -- https://master.php.net/note/reject/116983
Search -- https://master.php.net/manage/user-notes.php