PHP マニュアル
前のページ |  | 次のページ

# uniqid

(PHP 3, PHP 4, PHP 5)

uniqid -- ユニークな ID を生成する

## 説明

string uniqid ( [string prefix [, bool more_entropy]] )

uniqid() は、マイクロ秒単位の現在時刻に基づき 先頭辞（prefix）を付けたユニークな ID を返します。prefix は PHP 5 以降オプションとなりましたが、有用です。例えば、いくつかのホスト上で同時に 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 // prefix なし // PHP 5 以降でのみ動作します $token = md5(uniqid()); // よりよい方法。推測されにくくなります $better_token = md5(uniqid(rand(), true)); ?>`

この例は、極めて予測困難な 32 文字の ID（128 ビット 16 進数） を作成します。

前のページ | ホーム | 次のページ
time_sleep_until | 上に戻る | unpack