<?php
$cFile="count.txt";
$acctime=time();
if(file_exists($cFile)){
$fp=fopen($cFile,"r");
$str=fgets($fp,22);
fclose($fp);
$count=trim($str);
$count++;
}else{
$count=1;
}
$first=false;
if(!isset($_COOKIE['acctime'])){
setcookie("acctime",$acctime,time()+3600*24);
$first=true;
$acctime=3600*24+$acctime;
}else{
$acctime=3600*24+$_COOKIE['acctime'];
}
if($first||$acctime<=time()){
$count=sprintf("%d",$count);
$fp=fopen($cFile,"w");
fputs($fp,$count);
fclose($fp);
}else{
$count--;
}
print "您是第 ".$count." 位訪客。您下次訪問計入統計的時間是:".date("Y-n-j H:i:s",$acctime)."。";
?>
思路:每次訪問時
1.如果客戶端沒有cookie : 創建cookie,記錄下當前時間,同時計數器加1;
2.如果已經有cookie : 將當前時間與cookie值作差:(1) 小於24小時的,什麼也不做;(2) 大於24小時的,將當前時間寫入cookie,,同時計數器加1;
要求:
1.文本文件.txt存儲計數數據,不用sql數據庫;
2.只用cookies判斷,不用session,24小時內重複刷新不計數(重要);
3.可以用JS調用返回文本數字;
4.無需考慮瀏覽器禁用cookie的情況;
5.不需要規定統計數字最少位數;
6.請勿推薦第三方統計和網上找的代碼,只需要簡單的統計,不需要其他多餘功能。