uniqid() は、ミリ秒単位の現在時刻に基づき 先頭辞(prefix)を付けたユニークな ID を返します。prefix は オプションですが、有用です。例えば、いくつかのホスト上で同時に ID を生成させる場合、全く同じ ID が生成されるのを防ぐことができます。 PHP 4.3.1 以前では、prefix には 114 文字までの 長さしか指定できませんでした。
オプションの more_entropy パラメータが TRUE の場合、 uniqid() は、より結果をユニークにするために、 combined linear congruential generator を用いた結果を返り値の最後に追加します。
prefix を空とした場合、返される文字列の長さは、 13 文字となります。more_entropy が TRUE の場合は、 23 文字となります。
注意: prefix パラメータは PHP 5 ではオプションとなります。
ユニークな ID またはトークンが必要な場合、そして、ネットワーク経由で ユーザにそのトークンを渡そうとする場合(例えば、セッションクッキー)、 次の例のようにするのが推奨されます。
<?php |
この例は、極めて予測困難な 32 文字の ID(128 ビット 16 進数) を作成します。