[PHP-users 32404] Re: htmlからPHPを呼び出す方法

小野(健) ono.1982.kenji @ jp.fujitsu.com
2007年 7月 10日 (火) 08:29:15 JST


小野と言います。

あまり詳しくないけど、img タグにPHPから画像以外の情報送っても化ける
だけではないですか。
違うのかな。
headerタグをナントカすれば、文字以外で処理できるのかな?

例えば、以下のような感じで出力すれば、png として文字が出力されます。

<?php
//画像出力
header("Content-type: image/png");
header("Cache-control: no-cache");
// 宣言
//フォントサイズ
$font_size = 20;
//角度
$font_angle = 0;
//TTFフォントのパス(適時利用するフォントへ変更)
$font_path = "/usr/local/src/mplus-TESTFLIGHT-014/mplus-1p-black.ttf";

//組込み位置(X座標)
$tx = 10;

//組込み位置(Y座標)
//左下角が基準点になることに注意
$ty = 25;
//GD環境情報取得
$arrInfo = gd_info();

$setstring = "あいうえお" ;

if ($arrInfo['JIS-mapped Japanese Font Support']) {
    //GDが対応している場合はUTF-8への変換は不要
    $telop_text =  $setstring;
} else {
    //組込みテキスト
    //GDが対応していない場合はUTF-8へ変換して処理を行う
        //UTF-8に変換しない場合、文字化けします。
    $telop_text =  mb_convert_encoding($setstring,"UTF-8","auto");
}


//イメージ描画枠作成
$im = ImageCreate(400, 30);

//背景色
$background = ImageColorAllocate ($im, 200, 200, 200);
//テキストカラー
$font_color = ImageColorAllocate ($im, 0, 0, 0);

//テキスト描画
ImageTTFText ($im, $font_size, $font_angle, $tx, $ty, 
	$font_color, $font_path, $telop_text);

//PNG形式で標準出力へ
Imagepng ($im);

//イメージ破棄(メモリ開放)
ImageDestroy ($im);

?>


> 「index.html」
> <html>
> <body>
> 
> <img src="a.php">
> 
> </body>
> </html>
> 
> 「a.php」
> <?php
> 
> 	$maxcnt=6;
> 
> 	$randam = rand(1,$maxcnt);
> 
> 	$str="";
> 	if($randam==1){
> 		$str="A";
> 	}elseif($randam==2){
> 		$str="B";
> 	}elseif($randam==3){
> 		$str="C";
> 	}elseif($randam==4){
> 		$str="D";
> 	}elseif($randam==5){
> 		$str="E";
> 	}elseif($randam==6){
> 		$str="F";
> 	}
> 
> 	echo $str;
> ?>



PHP-users メーリングリストの案内