這裡是我們用php教程簡單自主開網頁訪問次數計數器代碼偌,是一款基於檔的圖形計數器範例代碼,會用到的檔用
num.txt //累計訪問次數
vist.php//測試檔案
count.php//統計訪問次的核心程式,因為它會把文字轉換成gif圖片,並且輸出到瀏覽器。
<HTML>
<HEAD>
<TITLE>圖形計數器範例</TITLE>
</HEAD>
<BODY>
您好,您是第<img src="ImgOutFileCount.php">位訪客
</BODY>
</HTML>
count.php檔
<?
Header("Content-type: image/gif");
HTTP頭,告訴瀏覽器,這是一個GIF圖片
$countfile = "num.txt";
定義計數器寫入的檔是目前的目錄下count.txt,然後我們應當測試該檔能否打開
if (($fp = fopen($countfile, "r+")) == false) { //用讀寫模式打開檔,若不能打開就退出
printf ("打開檔 %s 失敗!",$countfile);
exit;
}
else
{
如果檔能夠正常打開,就讀入檔中的資料,假設是1
$count = fread ($fp,10);
讀取10位資料
$count = $count + 1;
fclose ($fp);
關閉當前檔
$fp = fopen($countfile, "w+");
以覆蓋模式打開檔
fwrite ($fp,$count);
寫入加1後的新資料
fclose ($fp);
並關閉檔
}
//定義輸出為圖像類型
$n=10;
//變數$n是顯示位數
//利用上面的方法,取得訪問人數並賦值給變數$str1 (程式略)
$str1=$count;
$str2 = "";
位數如果不夠$n位,在前面補0
$len1 = strlen($str1);
for ($i=1;$i<=$n;$i++) {
$str2 = "0".$str2;
};
//得到$n位0
$len2 = strlen($str2);
//計算訪問人數的位數
$dif = $len2 - $len1;
$rest = substr($str2, 0, $dif);
$string = $rest.$str1;
//位數如果不夠$n位,在前面補0
for ($i=0;$i<=$n-1;$i++) {
$str[$i]=substr($string,$i,1);
};
//以陣列存儲每位數位
$font = 4;
//定義字型大小
$im = imagecreate($n*11-1,16);
//新建圖像
$black = ImageColorAllocate($ im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
//定義顏色
imagefill($im, 0,0,$black);
//把計數器的底色設置成黑色
ImageString($im,$font,1,0,$str[0],$white);
for ($i=1;$i<=$n-1;$i++) {
imageline($im, $i*11-1,0,$i*11-1,16, $white);
ImageString($im,$font,$i*11+1,0,$str[$i],$white);
};
//將每位寫入圖像,並以分隔號分隔
ImageGif($im);
//圖像輸出
ImageDestroy($im);
//釋放圖像
?>