本文目錄一覽:
php訪客計數器怎麼做
用PHP讀寫文本文檔製作最簡單的訪問計數器?phpfunction get_hit($counter_file)//定義函數,內容用{}括起來,學過編程的人應該看出來了,跟C語言有點相似{$count=0;//將計數器歸零,Php里的變數前面加上$號 if(file_exists($counter_file))//如果計數器文件存在,讀取其中的內容{$fp=fopen($counter_file,”r”);//r是read的縮寫,代表讀取的意思,以只讀方式打開文件$count=0+fgets($fp,20);/*讀取前20位數賦值給count變數,由於fgets()函數讀取的是字元串,所以需要在前面+0來轉換為整數,這一點跟ASP就不同了,ASP中字元串可以直接跟整型進行運算,而不用轉換。*/fclose($fp);//關閉文件}$count++;//增加計數,這一點跟C就非常相似了$fp=fopen($counter_file,”w”);//w是write的縮寫,代表寫入的意思,以寫入的方式打開文件fputs($fp,$count);//輸出計數值到文件fclose($fp);return($count);//返回計數值}? ?php$hit=get_hit(“counter.txt”);//調用剛才定義的函數處理counter.txt文檔,並把結果賦值給hit變數。echo “您是第b”.”$hit”.”/b位訪客!”;//輸出結果。PHP與ASP的區別在於:ASP的連字元是「」,而Php的連字元是「.」。
求php編寫的網頁計數器代碼(用cookie防止重複刷新計數)
?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).”。”;
?
請問下php中 怎麼編寫網站計數器 而不是網頁計數器
隨便怎麼做~~~~~
COOKIE也能做判斷,IP也能
就是你想怎麼做了
只要單獨調出一個 公共文件,在裡面做判斷是否 要 +1 就行了
如何做一個網站訪問計數器,用php程序
創建一個資料庫表
表名:table_counter
欄位:number int(10)
1.顯示統計數據
$sql = “SELECT * FROM table_counter”;
2.每次刷新頁面 執行sql
$sql = “UPDATE table_counter SET number= number+ 1”;
如果要做的精確一點
在加一個表
table_visit
欄位:ip
1更次刷新取得遊客$ip;
2.取得$ip後.查詢 table_vist .
如果存在則不更新table_counter.
如果不存在,則更新table_vist ,更新語句同上.並把$ip插入table_visit
如果還需要做的更人性化一點.設置一個時間間隔,比如說10分鐘.$diff = 600;
在table_visit再加上一個欄位
datetime :int(10)(時間戳).記錄遊客訪問時間.
1更次刷新取得遊客$ip 和 時間$date = time();
2.查詢 table_vist .
$sql = “SELECT * FROM table_vist WHERE ip = ‘$ip'”;
3.如果不存在.則把$ip和$date插入表table_vist.
$sql = “INSERT INTO table_vist SET ip = ‘$ip’,timedate=$date”;
並更新table_counter;
4.如果存在,則判斷該條查詢結果的timedate 和 現在時間$date,的差值.和 $diff比較
少於則不做任何操作.
大於則更新table_vist 。$sql = “UPDATE table_vist SET timedate = $date WHERE ip = ‘$ip'”;
並更新table_visit;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236793.html