アクセスカウンターのカウントアップは、データベースを使用すると簡単です。その部分は別に作成するほうが内容の重要な部分が明確になります。 数字画像を作成するのは、imagettftext を使用すれば容易です。文字に対していろいろ装飾するには、追加処理が必要ですが、ここでは単純に白い背景に対して黒い文字を『GN-キルゴ』というフォントで出力します。 ※「GN-キルゴ」は、漫画『キルミーベイベー』のタイトルロゴをイメージしたフォントです ▼ 実際の PHP による画像表示
<?php // *********************************************** // // プログラム名 : アクセスカウンターの下準備 // 作 成 者 : lightbox // 作 成 日 : 2014/10/31 // ソ ー ス : UTF-8N // // 概要 : 指定したフォントで数字文字列画像作成 // // *********************************************** header( "pragma: no-cache" ); header( "Expires: Wed, 31 May 2000 14:59:58 GMT" ); header( "Cache-control: no-cache" ); // *********************************************** // 使用するフォント // *********************************************** $font_path = "GN-KillGothic.ttf"; // *********************************************** // 初期テキスト // *********************************************** $img_text = "8888888888"; // *********************************************** // 幅と高さ // *********************************************** $width = 220; $height = 30; // *********************************************** // キャンバス作成 // *********************************************** $im = imagecreatetruecolor( $width, $height ); // *********************************************** // 画像の背景色( 白 ) // *********************************************** $white = imagecolorallocate( $im, 255, 255, 255 ); imagefilledrectangle($im, 0, 0, $width, $height, $white); // *********************************************** // 画像の文字色( 黒 ) // *********************************************** $black = imagecolorallocate( $im, 0, 0, 0 ); // *********************************************** // 使用不可サイトのチェック // *********************************************** $site = false; $target_sites = array("http://toolbox.winofsql.jp/","http://logicalerror.seesaa.net/"); foreach( $target_sites as $target ) { $len = strlen( $target ); $ref = substr( $_SERVER['HTTP_REFERER'], 0, $len ); if ( $target == $ref ) { $site = true; break; } } // *********************************************** // 【使用許可サイトの場合】 // ここに、DB から取得した文字列をセットする処理 // を入れる予定です // *********************************************** if ( $site ) { $img_text = "1235467890"; } // *********************************************** // フォントより文字列画像作成 // *********************************************** imagettftext( $im, 20, // サイズ 0, // 角度 5, // x 座標 25, // y 座標 $black, $font_path, $img_text); // *********************************************** // ブラウザへ出力 // *********************************************** header('Content-Type: image/png'); imagepng($im); // *********************************************** // 後処理 // *********************************************** imagecolordeallocate( $im, $black ); imagecolordeallocate( $im, $white ); imagedestroy($im); ?>
imagefilledrectangle は、その名の通り( FILL ) 四角形の塗りつぶし処理です。 関連する記事 フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの DB 処理部分
|
【PHPの最新記事】
- PHP で cURL はオプションが全て。いろいろあるので、ちょっとまとめ【2014/7/31の記事】
- PHP : 画像を返す処理( readfile ) と画像を縮小する処理( GD )
- PHP における標準的なテスト用アップロードのテンプレート
- PHP : MySQL から JSON 文字列を返す自作(テスト用) API テンプレート
- ImageMagick を Windows(32ビット)の PHP で利用する
- PHPで、ベタベタな日付チェック。汎用的とも言うw
- PHP でカタカナのフリガナ入力のチェック
- TCPDF で罫線を引く
- フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの DB 処理部分
- PHP + GD : 四角形への DropShadow
- PHP : ログインとブラウザの当日日付データ
- hash_hmac は秘密鍵があるので、辞書の総当りとかでパスワードは解りませんから。パスワード抜かれるのは、フィッシングがスパイウェアか、本人が口に出した場合ですね。
- すごく当たり前の事なんですが、UTF-8N で保存されたテキストファイルをメモ帳で変更して保存したら先頭に EF BB BF という爆弾が仕掛けられるのでダメですよ
- 5秒毎にリロードする PHP ページ
- 実用的かどうかは置いておいて、修正画面の日付入力に jQuery のカレンダーを使用する
- PHPで使用する為にフォント(.TTC)の分解
- PHP : GD で Windows のビットマップを扱う
- 【PHP】 <?=$value?> ではない変数埋め込み手法
- PHPでサービス停止( extension=php_com_dotnet.dll )
- PHP : コマンドライン php(cli) で10進数と16進数の変換