勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでアクセスIPからランダム英数字のIDを作成

  PHP

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で配列かどうかを調べる

配列か否かを調べたいケースがあり、確認すると ばっちりそのままの関数発見。 is ...

PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利

今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...

no image
短縮URL作成(管理画面)

error_reporting(E_ALL & ~E_NOTICE); ...

PHPからDBX Platformを利用してサーバ内のファイルをアップロードする方法

PHPで何らかのファイルを保存するようなケースだと今まではローカルに保存する、も ...

ブログサービスの様にサブドメインを動的に生成する方法  

ブログサービスの様に「hoge」というログインIDを作成した際「hoge.blo ...