note 57821 added to function.uniqid
| From: | dyer85 at gmail dot com | Date: | Sat, 15 Oct 2005 03:26:36 +0000 |
| Subject: | note 57821 added to function.uniqid | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-97047@lists.php.net to get a copy of this message | ||
Concerning the previous user's class:
I'm not sure what you were attempting, but your overall usage of the class has some syntax
errors and concept misapplications. For example, the NewGuid method is wrong and not needed.
Instead, try:
<?php
class Guid {
var $guidText;
function Guid()
{
$this->guidText = md5(uniqid(rand(),true));
return $this->guidText;
}
function toString($separator = '', $case = false)
{
$str =& $this->guidText;
if ($case)
{
switch ($case)
{
case 'uc':
$str = strtoupper($str);
break;
case 'lc':
$str = strtolower($str);
break;
default:
$str = $str;
}
}
$str = substr($str,0,8) . $separator .
substr($str,8,4) . $separator .
substr($str,12,4). $separator .
substr($str,16,4). $separator .
substr($str,20);
return htmlspecialchars($str);
}
// do some other stuff
}
$obj = new Guid();
echo 'Dash: ' . $obj->toString('-');
echo 'Lower-case with "?" as separator: ' . $obj->toString('?',
'lc');
?>
This method just gives a bit more options, so if you want different methods to do different things
or whatever.
----
Manual Page -- http://www.php.net/manual/en/function.uniqid.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+57821
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+57821&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+57821&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+57821&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+57821&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+57821&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+57821&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+57821&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+57821&report=yes
Search -- http://master.php.net/manage/user-notes.php