這里是我們用php簡(jiǎn)單自主開(kāi)網(wǎng)頁(yè)訪問(wèn)次數(shù)計(jì)數(shù)器代碼偌,是一款基于文件的圖形計(jì)數(shù)器范例代碼,會(huì)用到的文件用:num.txt //累計(jì)訪問(wèn)次數(shù),vist.php//測(cè)試文件,count.php//統(tǒng)計(jì)訪問(wèn)次的核心程序,因?yàn)樗鼤?huì)把文字轉(zhuǎn)換成gif圖片,并且輸出到瀏覽器.
PHP訪問(wèn)次數(shù)計(jì)數(shù)器html代碼如下:
- <HTML>
- <HEAD>
- <TITLE>圖形計(jì)數(shù)器范例</TITLE>
- </HEAD>
- <BODY>
- 您好,您是第<img src="ImgOutFileCount.php">位訪客
- </BODY>
- </HTML>
count.php文件,代碼如下:
- <?php
- Header("Content-type: image/gif");
- //http頭,告訴瀏覽器,這是一個(gè)GIF圖片
- $countfile = "num.txt";
- //定義計(jì)數(shù)器寫入的文件是當(dāng)前目錄下count.txt,然后我們應(yīng)當(dāng)測(cè)試該文件能否打開(kāi)
- if (($fp = fopen($countfile, "r+")) == false) { //用讀寫模式打開(kāi)文件,若不能打開(kāi)就退出
- printf ("打開(kāi)文件 %s 失敗!",$countfile);
- exit;
- }
- else
- {
- //如果文件能夠正常打開(kāi),就讀入文件中的數(shù)據(jù),假設(shè)是1
- $count = fread ($fp,10);
- //讀取10位數(shù)據(jù)
- $count = $count + 1;
- fclose ($fp);
- //關(guān)閉當(dāng)前文件
- $fp = fopen($countfile, "w+");
- //以覆蓋模式打開(kāi)文件
- fwrite ($fp,$count);
- //寫入加1后的新數(shù)據(jù)
- fclose ($fp);
- //并關(guān)閉文件
- }
- //定義輸出為圖像類型
- $n=10;
- //變量$n是顯示位數(shù)
- //利用上面的方法,取得訪問(wèn)人數(shù)并賦值給變量$str1 (程序略)
- $str1=$count;
- $str2 = "";
- //位數(shù)如果不夠$n位,在前面補(bǔ)0
- $len1 = strlen($str1);
- for ($i=1;$i<=$n;$i++) {
- $str2 = "0".$str2;
- };
- //得到$n位0
- $len2 = strlen($str2);
- //計(jì)算訪問(wèn)人數(shù)的位數(shù)
- $dif = $len2 - $len1;
- $rest = substr($str2, 0, $dif);
- $string = $rest.$str1;
- //位數(shù)如果不夠$n位,在前面補(bǔ)0
- for ($i=0;$i<=$n-1;$i++) {
- $str[$i]=substr($string,$i,1);
- };
- //以數(shù)組存儲(chǔ)每位數(shù)字
- $font = 4;
- //定義字號(hào)
- $im = imagecreate($n*11-1,16);
- //新建圖象
- $black = ImageColorAllocate($im, 0,0,0);
- $white = ImageColorAllocate($im, 255,255,255);
- //定義顏色
- imagefill($im, 0,0,$black);
- //把計(jì)數(shù)器的底色設(shè)置成黑色
- 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);//開(kāi)源代碼Vevb.com
- //圖象輸出
- ImageDestroy($im);
- //釋放圖象
- ?>
新聞熱點(diǎn)
疑難解答