勉強したことのメモ

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

  関連記事

複数の方法で301リダイレクト

サイトのディレクトリやファイル名を大幅に変えるという案件があった。それ自体は問題 ...

PHPでファイルをダウンロードさせる

集計ページみたいなんがあった。その集計ページを CSV化したいと言われた。 ■ソ ...

PHPで「Unable to allocate~」とエラー

PHPで「Unable to allocate memory for pool」 ...

画像をアップロードすると複数サムネイルを生成する方法

フォームで画像をアップロードすると、予め定めておいた大中小のサイズでサムネイル画 ...

PHPの文字化け対策

PHPファイルもDBも全部UTF-8で出来たらいいけど、 そうもいかない場合が多 ...

PHPでのcookie

aaa.comにログインフォームがあって、IDパスを入れて ログインするとbbb ...

画像削除用function

ファイルパス、拡張子、seq番号、画像番号を渡してあげるだけ。 拡張子部分があれ ...

PHPで一括出力ではなく、ひとつずつ順次に出力する方法

PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメ ...

PHPでjpg / png画像をWebP画像に変換し保存する方法

PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...

PHPで配列データをCSVとしてダウンロードさせる方法

PHPでログ的なデータをCSV化したかった。ただ、複数の人間が使うのでCSVファ ...