一般的計數器程序用的執行外部程序函數 exec(),但很多主機空間(包括收費的)拒絕這個危險操作。
我們只好用fread(),fwrite()等文件讀寫函數,要害在於采用哪種方式fopen()打開文件。試了N次後,證實以下程序是可行,在收費空間上獲得驗證。
count目錄
|---count.php
|---counter.txt
|---0~9的數字GIF圖片(0.gif,...,9.gif)
<?
/* 本文件為countconut.php */
$countfile = "count/counter.txt";
if (!file_exists("$countfile")){
$fp=fopen("$countfile","w");
$num=1;
fputs($fp,$num,8);
fclose($fp);
}
else{
$fp=fopen("$countfile","rw ");
$num=fread($fp,8);
$num ;
rewind($fp);
fputs($fp,$num,8);
fclose($fp);
}
/*假如不用圖片顯示數字,請將以下直到 ?> 之前的部分,改為 echo "<font color=red>".$num."</font>";之類*/
$len_str = strlen($num);
for($i=0;$i<$len_str;$i ){
$numbers_exploded = substr($num,$i,1);
$output_str = $output_str . "<img src="count/$numbers_exploded.gif">";
}
echo $output_str;
?>
使用方法:
例如,在count文件夾外面新建一個test.php。其它位置請修改 $countfile路徑。
在test.php要顯示的地方直接require一下count.php文件(注重路徑)。
<br>
<?php
echo "您是第";
require("count/count.php");
echo "位訪客";
?>
<br>
強調最後一個問題,請設置counter.txt文件可讀寫,Windows下文件權限為everyone,Linux下至少為444。網上的文件或Linux下的文件權限設置要使用FTP軟件。