这一个可定制的用PHP4编的计数器,这个计数器可以显示六位数字,可在tml文件中用<image scr="counter.php3">引用,定制的方法为制作十个拥有自己风格的GIF文件,分别为0,1,2,3,4,5,6,7,8,9,0的画面,放在counter.php3的同一个目录下.原程序如下
<? Header("Content-type:image/gif");
function display($file){
$fp=fopen($file,"rw");
$num=fgets($fp,6);
$num=$num+1;
exec("echo "$num">$file");
fclose($fp);
$n=6-strlen($num);
$out=imagecreate(96,20);
$im=imagecreatefromgif("0.gif");
for($i=0;$i<$n;$i++)
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
for($j=0;$j<strlen($num);$j++)
switch(substr($num,$j,1)){
case "1":$im=imagecreatefromgif("1.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "2":$im=imagecreatefromgif("2.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "3":$im=imagecreatefromgif("3.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "4":$im=imagecreatefromgif("4.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "5":$im=imagecreatefromgif("5.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "6":$im=imagecreatefromgif("6.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "7":$im=imagecreatefromgif("7.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "8":$im=imagecreatefromgif("8.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "9":$im=imagecreatefromgif("9.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
case "0":$im=imagecreatefromgif("0.gif");
imagecopyresized($out,$im,$i*16,0,0,0,16,20,16,20);
$i++;
ImageDestroy($im);
break;
}
imageGif($out);
ImageDestroy($out);
}
$file="/tmp/counter";
if(!file_exists($file))
exec("echo "0">$file");
display($file);
?>
|