PHP實現網站訪問量計數器 兩種方法

1、原生

簡單的網站訪問量計數器實現,具體如下
首先說明思路:
1.用戶向服務器發出訪問請求
2.服務器讀取訪問次數文件,+1,向客戶端返回
3.服務器保存新的瀏覽次數
4.新用戶訪問,重複123即可
解決方案(主要算法):
1.數據文件:counter.dat
2.讀出數據文件
打開文件;
如果不存在,創建,並以0爲初識數據;
否則,讀出數據;
關閉文件。
3.把累加後的數據寫入文件counter.dat
累加數據;
打開文件;
寫入數據;
關閉文件;
4.向網頁輸出信息;
建立Count_Visitor文件夾。
在Count_Visitor文件夾中,創建Count_Visitor.php文件,並鍵入以下代碼:

<html>
<head>
 <meta charset="UTF-8">
 <title>瀏覽計數器[email protected]</title>
</head>
<body>
 <?php
  //數字輸出網頁計數器
  $max_len = 9;
  $CounterFile = "counter.dat";
  if(!file_exists($CounterFile)){  //如果計數器文件不存在
   $counter = 0;    
   $cf = fopen($CounterFile,"w"); //打開文件
   fputs($cf,'0');     //初始化計數器
   fclose($cf);     //關閉文件
  }
  else{          //取回當前計數器的值
   $cf = fopen($CounterFile,"r");
   $counter = trim(fgets($cf,$max_len));
   fclose($cf);
  }
  $counter++;         //計數器加一
  $cf = fopen($CounterFile,"w");    //寫入新的數據
  fputs($cf,$counter);
  fclose($cf);
 ?>
 <div id="dd" align="center">
  <span>歡迎您!</span>
  <span>您是本站的第
   <?php
    echo $counter;       //輸出計數器
   ?>
  位訪客!</span>
 </div>
 
</body>
</html>

如果有需要可以自己鍵入css文件裝飾.
代碼中包含的變量及其含義

$max_len : 自定義變量。計數器的最大位數;
$CounterFile : 自定義變量。計數器存放的文件(路徑和文件名);
$counter : 自定義變量。計數器的值;
$cf : 自定義變量。打開計數文件的句柄;
代碼中包含的函數與含義
file_exists($CounterFile) : 判斷文件是否存在;
fopen($CounterFile,”w”) : 以寫入方式打開文件。(函數自帶屬性,如果不存在則創建)
fopen($CounterFile,'r') : 以只讀方式代開文件。
fgets($cf,$max_len) : 從文件中讀出指定長度的字符
fputs($cf,”0”) : 把字符“0”寫入$cf
fclose($cf) : 關閉$cf打開的文件
trim(fgets($cf,$max_len)) : 去除 取出字符串的 兩邊的空格符

2、使用thinkPHP框架封裝好的方法,爲字段點擊一次增加一次計算

setField 方法返回影響數據的條數,沒修改任何數據字段返回 0

自增或自減一個字段的值
setInc/setDec 如不加第二個參數,默認值爲1

// score 字段加 1
Db::table('think_user')->where('id', 1)->setInc('score');
// score 字段加 5
Db::table('think_user')->where('id', 1)->setInc('score', 5);
// score 字段減 1
Db::table('think_user')->where('id', 1)->setDec('score');
// score 字段減 5
Db::table('think_user')->where('id', 1)->setDec('score', 5);

每訪問一次增加1

Db::name('表名')->where('id','=',$id)->setInc('記錄訪問量的字段名');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章