SQLの窓

2009年07月18日


PHP : ユニークなキーの取得

uniqid という単純な関数で取得できます。

結果例 : 4a60afd294c67

これは、マイクロ秒( 100万分の1秒 ) を元にしているらしいので、十分にユニークです。ほぼこれ以上を気にする必要はありません。

マニュアルには、第一引数の説明として、prefix というものがありますが、これは複数のサーバで同時に実行される場合同じになる可能性が( ほんのほんの少しだけ、殆ど無い ) あるので用意されているだけで、同一サーバの同一処理系で利用しても意味ありません。

また、第二引数としてさらにユニークにするオプションがありますが

実行例 : print uniqid("",true);
結果例 : 4a60b0dd16e413.58317420

通常そこまでする必要はありません。
( どうしても気になるのであれば使用すればいいと思います )

さらに、$token = md5(uniqid()); というサンプルがありますが、これはセッション等のセキュリティ上の問題を回避する為の手法であり、ユニークキーを作成する事だけが目的の場合は必要ありません。


uniqid(); で十分です。


サーバ側で使うのであれば、そのid の存在チェックを行ってから使うほうが現実的ですね。
( DB ならば、RDBMS 内にそういうユニークキー作成機能があるのでそちらを使用します )




posted by lightbox at 2009-07-18 02:10 | PHP + ベーシック | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり