| PHPカウンターとGD関数カテゴリー: PHP06Jul2009⇒2Apr2010更新
 サンプルコードこのサンプルコードはGD関数が使える環境で有効です。なおカウンター値($count)が定まるまでの部分は省略しています。 
<?php$count=12345;
 //********************************************
 $img_dir="[path]/co_img"; //カウンタ用画像を格納しているディレクトリ。
 //ここには数字画像(11x13) 0.png ~ 9.png が収納されているものとします。
 $width=11;//画像の幅
 $height=13 ;//画像の高さ
 $keta=7;//表示桁数
 //********************************************
 $length=strlen($count);
 for($i=0; $i<$length; $i++){ //イメージ出力用配列作成
 $img_ctr[$i]=substr($count,$i,1)."."."png";
 }
 if($keta<$length){
 $temp=$length-$keta;
for($i=0; $i<$temp; $i++) array_shift($img_ctr);
 } elseif($keta>$length){
 $temp=$keta-$length;
 for($i=0; $i<$temp; $i++) array_unshift($img_ctr, "0"."."."png");
 }
 $img=imagecreate($keta*$width,$height); //新規imageの作成
 for($i=0; $i<$keta; $i++){
 $temp=imagecreatefrompng("$img_dir/$img_ctr[$i]") ;
 imagecopy($img, $temp, $i*$width, 0, 0, 0, $width, $height) ;
 $temp="";
 }
 header("Content-Type: image/png") ;
 imagepng($img) ;
 ?>
 
 このサンプルコードを例えば counter.php というファイルに書き込んで、 
<img src="[path]/counter.php" alt="" />
 とすることでカウンター値が表示されます。 実際例⇒   
 スクリーンに出力出来ないという問題スクリーンに出力出来ない、という問題に遭遇することがあります。私の場合、
 1.<?php の前に空行がないこと 他のhtmlコードが入っていないこと
 2.print echo などの出力コマンドが使われていないこと
 
 をチェックすることによって、ほとんどの場合解決できました。
 
 
 |