PHP で uniqid() 関数を使用する方法、phpuniqid 関数の使用方法_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:15:29
オリジナル
1499 人が閲覧しました

PHPのuniqid()関数の使い方、phpuniqid関数の使い方

この記事の例では、PHP での uniqid() 関数の使用法について説明します。参考のためにみんなで共有してください。具体的な手法の分析は次のとおりです:

uniqid() 関数は、マイクロ秒単位の現在時刻に基づいて一意の ID を生成します。
注: この関数によって生成される ID はシステム時間に基づいているため、最適とは言えません。完全に一意の ID を生成するには、md5() 関数を使用します (この関数については、「文字列関数リファレンス」を参照してください)。

コードをコピーします コードは次のとおりです:
エコーuniqid();
?>

この例では、32 文字の一意の文字列が生成されます。

コードをコピーします コードは次のとおりです:
$token = md5(uniqid(rand()));
エコー $トークン;
?>


uniqid() は、マイクロ秒単位の正確な現在時刻に基づいて、接頭辞付きの一意の識別子を返します。
現在時刻を基準としているだけで、現在時刻とどのような関係があるのか​​は説明されていません。
echo uniqid(); uniqid は常に長さが 13 の変化する 16 進数であることがわかります。

次のコードを見てみましょう:

コードをコピーします コードは次のとおりです:
エコー hexdec(uniqid())/(time()+microtime()); ?>
出力は基本的に 1048576 程度です。

uniqid は、マイクロ秒単位の精度の現在時刻に 1048576 (2 の 20 乗) を掛けて、最終的に 16 進数に変換したものであると結論付けることができます。

uniqid と時間の関係を理解すると、uniqid をより幅広い用途で使用できるようになります。たとえば、uniqid をフォーラムの投稿のファイル名として使用することができます。

投稿インデックスでは、時間ごとに投稿を簡単に検索できます。

上記のコードと以下のコードを組み合わせると、その機能は非繰り返しの 32 ビット文字を生成することだと思います

uniqid() 関数自体はマイクロ秒単位の現在時刻に基づいているため、同時実行性が高い状況では重複が確実に発生します。解決策は、この前提の下で乱数を生成し、両方の組み合わせにより新しい数値を生成することです。重複の可能性を減らします。さらに正確にしたい場合は、クライアントの IP の MD5 コードを追加して一緒に生成することもできます。この方法では、重複の可能性は非常に低く、重複はほとんどないと言えます。


コードをコピーします コードは次のとおりです:
関数 getRand(){
uniqid() を返します。 rand(1, 100000);
}
エコー getRand();
終了します;
?>

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。


phpのuniqid()関数の説明を手伝ってください。phpマニュアルで英語で見つけました

uniqid

は値を 1 つだけ生成します。
構文: string uniqid(string prefix);
戻り値: String
関数の種類: エンコード処理
内容説明
この関数は、現在のミリ秒と指定されたプレフィックス文字列に基づいて一意の文字列を生成します。パラメーターのプレフィックスは、最大 114 文字までの先行する文字列です。

echo uniqid(); uniqid は常に長さが 13 の変化する 16 進数であることがわかります。
echo hexdec(uniqid())/(time()+microtime());
?>
出力は基本的に 1048576 程度です。
uniqid は、マイクロ秒単位の精度の現在時刻に 1048576 (2 の 20 乗) を掛けて、最終的に 16 進数に変換したものであると結論付けることができます。
uniqid と時間の関係を理解すると、uniqid をより幅広い目的に使用できるようになります。たとえば、テキスト フォーラムでは、uniqid を投稿のファイル名として使用できます。
投稿インデックスでは、時間ごとに投稿を簡単に検索できます。
参考:hi.baidu.com/...7.html

私は PHP を学んでいますが、どのような状況で uniqid() を使用するべきですか?

846189340160532f6c51bf26ab596f55


セーフティホースを検出する際に使用されます

?>

乱数の場合にも使用されます

http://www.bkjia.com/PHPjc/904920.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/904920.html技術記事 PHP での uniqid() 関数の使用法、phpuniqid 関数の使用法 この記事では、PHP での uniqid() 関数の使用法を例とともに説明します。参考のためにみんなで共有してください。具体的なメソッドは次のように分析されます: uniqid() function Base...
関連ラベル:
ソース:php.cn
前の記事:PHP で $_GET と $_POST を使用して SQL インジェクションをフィルターする方法、_get_post_PHP チュートリアル 次の記事:PHP でエスケープする addlashes 関数を使用するセキュリティ原則の分析、addslashes エスケープ_PHP チュートリアル
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!