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;
}
関連記事
-
-
UTF-16にエンコードされている文字列をUTF-8へデコード
エンコードされている文字列であまり見かけない感じのものがあった。UTF-8やSh ...
-
-
PHPのZipArchive::addFileでファイルが追加できない場合の対応方法
過去記事を参考にPHPにて複数のファイルをzipファイル化後、ダウンロードさせた ...
-
-
PHPで指定日から曜日を割り出す
曜日ってどうやって割り出すの? となったのでメモ。 ■リファレンス http:/ ...
-
-
CodeIgniter4でCronを実行する方法
CodeIgniter4.4.4で特定の処理をCronで自動実行させたい。以下に ...
-
-
Codeigniter4でMySQLに接続しCRUD操作する方法
Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ...