勉強したことのメモ

webプログラマが勉強したことのメモ。

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;
}

 - PHP

  関連記事

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_ ...