PHPでアクセスIPからランダム英数字のIDを作成
2024/02/25
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;
}
関連記事
-
-
PHPで「Warning: date(): It is not safe to…」エラーの対応方法
PHPでdate関数を使った際に「Warning: date(): It is ...
-
-
CodeIgniterのバージョンの調べ方
CodeIgniterを使っているシステムがあったが、どうも記憶しているディレク ...
-
-
PHPでeval実行時に「eval()'d code on line」エラー
PHPでeval実行時に「eval()'d code on line 〇〇」とい ...
-
-
エラー処理を1ページにまとめる
できるだけまとめておいた方が効率よさそうなのでメモ。 メインのフォルダにlogs ...
-
-
PHP8系で「Warning: Attempt to read property "xxxxxx" 」エラーの対応方法
PHP8系&WordPress6.4.3で「Warning: Attem ...