PHPでアクセスIPからランダム英数字のIDを作成
PHPで掲示板などにあるようなアクセスIPからランダム英数字のIDを作成したかった。以下にほしい機能とソースをメモ。
■ほしい機能
- IPアドレスもしくは会員IDなどからランダムIDを作成
- 日付によってランダムIDを変えたり変えなかったりする
- ランダムIDの桁数も決めたい
■ソース
//---------------------------------------- // $limit(int) ランダムIDの桁数。デフォルトは10桁。 // $daily(bool) 日付によってIDを変えるかどうか。デフォルトは変えない。 // $free(text) 閲覧者のIPやユーザーID等、自由入力。空の場合は閲覧者のIPを使用。 //---------------------------------------- function createId( $limit = 10, $daily = false, $free = '' ) { $daily_md5 = ( $daily ) ? md5(date('Y-m-d')): ''; $free_md5 = ( $free ) ? md5( $free ) : md5( $_SERVER['REMOTE_ADDR'] ); $id = substr(base64_encode($daily_md5 . $free_md5), 0, $limit); return $id; }
関連記事
-
-
composerでライブラリのインストールとインストール時のエラー
composerでライブラリをインストールする際に「The following ...
-
-
PHPでdatetime型を分割する
datetime型を年月日時分秒でそれぞれに 分割させたい時に、今まではいちいち ...
-
-
PHPで他サーバにファイルをアップロードする
formで送信した内容をチェックした上で、他サーバにファイルをアップロードしたか ...
-
-
PHPでキーや値は保持したまま順番を入れ替える
PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で ...
-
-
PHPでソーシャル(SNS)ログインする方法
「facebook / twitter / Googleアカウントでログインする ...
-
-
URLのクエリを取得
<? /* 通常であれば$_GETとかで取得するが、 http://tes ...
-
-
エラー管理まとめ
■エラーログをとる。 error_reporting(E_ALL ^ E_NOT ...
-
-
CSVファイルを使って郵便番号から住所を抽出する
■ソース <? error_reporting(E_ALL & ~ ...
-
-
PHPで他サーバにファイルをアップロードする2
formで画像を送信した後、他サーバにファイルをアップロードしたかった。以前はP ...
-
-
PHPで日時比較時の注意
PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...
- PREV
- MySQLでWhere句をつけてdumpする
- NEXT
- MySQLでテーブル構造とデータをコピーする