Saturday, March 23, 2013

ColdFusion like UUID in PHP



Originally extracted from php.net with minor changes

The main function of an UUID is being unique. UUIDs are commonly use in databases to store a unique string, but not limited to. This function will help you to create a Coldfusion like Universally Unique Identifier (UUID) in PHP. This was customized for ColdFusion UUID format (8-4-4-16) .

UUID is a mix of 0-9 A-F Hex value.


function GenerateUUID() {
return sprintf('%04x%04x-%04x-%04x-%04x%04x%04x%04x',
  // 32 bits for "time_low"
 mt_rand(0, 0xffff), mt_rand(0, 0xffff),
  // 16 bits for "time_mid"
 mt_rand(0, 0xffff),
  // 16 bits for "time_hi_and_version",
  // four most significant bits holds version number 4
  mt_rand(0, 0x0fff) | 0x4000,
  // 16 bits, 8 bits for "clk_seq_hi_res",
  // 8 bits for "clk_seq_low",
  // two most significant bits holds zero and 
         // one for variant DCE1.1
  mt_rand(0, 0x3fff) | 0x8000,
  // 48 bits for "node"
  mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
 );
}


1 comment:

  1. Ha ha ha I total understand, why ColdFusion, Started at 1999 and stopped, first project I did it for myastro.com

    ReplyDelete