$countfile="count.txt";
global $num; //請問這一行是做什麼?還有 global 有何功用,主要做什麼?
if (file_exists($countfile))
{
$file=fopen($countfile,"r");
$num=fgets($file,filesize($countfile)+1); // filesize 這是要幹什麼的?
$num++; //上一行已經($countfile)+1。已經加1,為何還要++
fclose($file);
}
else
{
$num="1";
}
$file=fopen($countfile,"w");
fwrite($file,$num);
fclose($file);
?>
簡單實用的文字計數器
參觀人次:=$num?>
2007-07-30 15:44:32 · 1 個解答 · 發問者 ? 2 in 電腦與網際網路 ➔ 程式設計
1. 宣告 global 是利用語言全域變數用來做互斥機制 (mutex)。全域變數的特性是不管有多少個程式同時執行,只要其中一支對全域變數做寫入,其他所有的程式會即時收到更新。
2. filesize 是計算檔案長度。加1是因為檔案有個 EOF 字元做結束,fgets要讀到 EOF 才會判定結束。
3. 這是全域變數加1。
你 2 & 3 都要考慮計數器被同時進入的狀況,因為你不能夠期待所有訪客都很守規矩像甲跟乙不去同時訪問有記數器的那一頁──計數器要設計成那個樣子就沒人用了。那就是為什麼要開兩次檔案,一次唯讀,一次只有寫,然後要用全域變數的原因。
至於 picout(),是的,是一個函數。
2007-07-31 20:53:52 · answer #1 · answered by mh 7 · 0⤊ 0⤋