On Sun, 2009-01-11 at 00:07 +0000, Nathan Rixham wrote:
> Colin Guthrie wrote:
> > 'Twas brillig, and Nathan Rixham at 10/01/09 23:31 did gyre and gimble:
> >> all I need is a completely unique id for each object instance that can 
> >> never be repeated at any time, even in a multiserver environment (and 
> >> without using any kind of incremented value from a db table or third 
> >> party app)
> >>
> >> thoughts, ideas, recommendations?
> > 
> > While it's not guaranteed to be unique the general technique used in 
> > these situations is to use a UUID. The chances of a clash are slim 
> > (2x10^38 ish combinations).
> > 
> > You can generate a uuid via mysql "SELECT UUID()" or via the PHP Pecl 
> > extension php-uuid.
> > 
> > The other way of doing it would be to insert a row into a database row 
> > with an auto-increment field and use the value of that auto-incrment 
> > field as your identifier (SELECT LAST_INSERT_ID() in mysql or via the db 
> > layers API).
> > 
> > HTHs
> > 
> > Col
> > 
> > 
> 
> cheers for the input; uuid it has to be I guess; don't want it reliant 
> on any third party software or db so pecl is out, as is mysql - looks 
> like I'm going to have to (and probably enjoy) making a uuid function to 
> generate type 4 random uuids.
> 
> only other thought is to combine all the instance variables, hash the 
> combination of them and save that together with a timestamp..

Use microtime for your timestamp... much less likely to have a collision
than using seconds.

Cheers,
Rob.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to