PHPにおいては、GDライブラリを使用すると、簡単に画像を出力できます。
そこで、ここでは、スパム対策にPHPを使いメールアドレスを画像で出力する方法を覚書しておきます。
なお、参考は自己責任でお願いします。
以下を、mail_png.phpとして保存します。
<?php //header出力-png header('Content-Type: image/png'); //キャンバス作成(x座標, y座標) $canvas = @imagecreatetruecolor(250, 40) or die('Cannot initialize image.'); // アンチエイリアスを有効化(無くてもよい) imageantialias($canvas, true); //カラー設定(適当な値) $silver = imagecolorallocate($canvas, 120, 120, 120); //銀 $gray = imagecolorallocate($canvas, 180, 180, 180); //灰 $white = imagecolorallocate($canvas, 255, 255, 255); //白 //カラーサンプル /**** $black = imagecolorallocate($canvas, 0, 0, 0); $red = imagecolorallocate($canvas, 255, 0, 0); $green = imagecolorallocate($canvas, 0, 128, 0); $blue = imagecolorallocate($canvas, 0, 0, 255); $orenge = imagecolorallocate($canvas, 255, 165, 0); $purple = imagecolorallocate($canvas, 128, 0, 128); $silver = imagecolorallocate($canvas, 192, 192, 192); $gray = imagecolorallocate($canvas, 216, 216, 216); $white = imagecolorallocate($canvas, 255, 255, 255); ****/ //背景を白に塗りつぶし imagefill($canvas, 0, 0, $white); //囲み線(長方形) imagerectangle($canvas, 1, 1, 248, 38, $gray); //余白1px //文字入力(im, font, x, y, string, color) imagestring($canvas, 5, 12, 12, 'info@example.com', $silver); //出力-png imagepng($canvas); //破棄 imagedestroy($canvas); ?>
とても簡単です。実質10行ほどで画像出力ができます。
なお、HTML上で画像を呼び出すときは、次のようにします。
<img src="./mail_png.php">
以上です。