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で配列のキーの最大値を取得する方法
配列のキーに整数値が入っていて、その中から最大値を取得したいケースがあった。調べ ...
-
-
PHPでCookie保存時にHttpOnly / Secure属性を設定する方法
あるシステムのセキュリティ対策としてCookie保存時にHttpOnly / S ...
-
-
フォームからCSVファイルをアップロードしてPHPの配列に格納する方法
formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...
-
-
PHPでメルマガを配信する方法(BCCで一括送信するパターン)
PHPでメールマガジンを配信したかった。宛先のメールアドレスはMySQLに保存さ ...
-
-
PHP8系で関数の引数が設定しやすくなる名前付き引数について
PHP8系で名前付き引数が導入されたということを最近知った。今までは「第〇引数」 ...