国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php統計網站/html頁面瀏覽訪問次數程序

2024-05-04 21:48:04
字體:
來源:轉載
供稿:網友

本文章來給大這介紹了php自己寫的一些常用的網站統計代碼寫法,用無數據庫的與使用數據庫及html靜態頁面瀏覽資次數統計代碼,大家可進入參考.

實例1,直接使用txt文件進行統計的代碼,代碼如下:

  1. <?php 
  2. session_start();//定義session,同一IP登錄不累加 
  3. $filepath = 'count.txt'
  4. if ($_SESSION['temp'] == '')//判斷$_SESSION[temp]的值是否為空,其中的temp為自定義的變量 
  5.  if (!file_exists($filepath))//檢查文件是否存在,不存在剛新建該文件并賦值為0 
  6.  { 
  7.   $fp = fopen($filepath,'w'); 
  8.   fwrite($fp,0); 
  9.   fclose($fp); 
  10.   counter($filepath); 
  11.  }else 
  12.  { 
  13.   counter($filepath); 
  14.  } 
  15.  $_SESSION['temp'] = 1;//登錄以后,給$_SESSION[temp]賦一個值1 
  16. echo '歡迎來到懶人站長素材網站,您是本站第<font color="#FF0000">'.file_get_contents($filepath).'</font>位訪客'
  17. //counter()方法用來得到文件內的數字 
  18.  
  19. function counter($f_value
  20.  //用w模式打開文件時會清空里面的內容,所以先用r模式打開,取出文件內容,保存到變量 
  21.  $fp = fopen($f_value,'r'or die('打開文件時出錯。'); 
  22.  $countNum = fgets($fp,1024); 
  23.  fclose($fp); 
  24.  $countNum++; 
  25.  $fpw = fopen($f_value,'w'); 
  26.  fwrite($fpw,$countNum); 
  27.  fclose($fpw); 
  28. //注釋下面一行可以實現同一IP登錄不累加效果,測試時可以打開 
  29. session_destroy(); 
  30. ?> 

上面使用的是txt文件,下面我們來介紹一個mysql數據庫操作實例,代碼如下:

  1. CREATE TABLE `mycounter` (  
  2. `id` int(11) NOT NULL auto_increment,  
  3. `Counter` int(11) NOT NULL,  
  4. `CounterLastDay` int(10) default NULL,  
  5. `CounterToday` int(10) default NULL,  
  6. `RecordDate` date NOT NULL,  
  7. PRIMARY KEY (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ; 

函數代碼如下:

  1. <?PHP  
  2. public function ShowMyCounter(){  
  3. //定義變量  
  4. $IsGone = FALSE;  
  5. //讀取數據  
  6. $querysql = "SELECT * FROM `mycounter` WHERE id = ?' ";  
  7. $queryset = mysql_query($querysql);  
  8. $row = mysql_fetch_array($queryset);  
  9. //獲得時間量  
  10. $DateNow = date('Y-m-d');  
  11. $RecordDate = $row['RecordDate'];  
  12. $DateNow_explode = explode("-",$DateNow);  
  13. $RecordDate_explode = explode("-",$RecordDate);  
  14. //判斷是否已過去一天  
  15. if$DateNow_explode[0] > $RecordDate_explode[0]) $IsGone = TRUE;  
  16. else if$DateNow_explode[0] == $RecordDate_explode[0] ){  
  17. if$DateNow_explode[1] > $RecordDate_explode[1] ) $IsGone = TRUE;  
  18. else if$DateNow_explode[1] == $RecordDate_explode[1] ){  
  19. if$DateNow_explode[2] > $RecordDate_explode[2] ) $IsGone = TRUE;  
  20. }else BREAK;  
  21. }else BREAK;  
  22. //根據IsGone進行相應操作  
  23. IF($IsGone) {  
  24. $RecordDate = $DateNow;  
  25. $CounterToday = 0;  
  26. $CounterLastDay = $row['CounterToday'];  
  27. $upd_sql = "update mycounter set RecordDate = '$RecordDate',CounterToday = '$CounterToday',CounterLastDay = '$CounterLastDay' WHERE id = ?' ";  
  28. mysql_query($upd_sql);  
  29. }  
  30. //再次獲取數據  
  31. $querysql = "SELECT * FROM `mycounter` WHERE id = ?' ";  
  32. $queryset = mysql_query($querysql);  
  33. $Counter = $row['Counter'];  
  34. $CounterToday = $row['CounterToday'];  
  35. $CounterLastDay = $row['CounterLastDay'];  
  36. if($row = mysql_fetch_array($queryset) ){  
  37. if$_COOKIE["user"] != "oldGuest" ){  
  38. $Counter = ++$row['Counter'];  
  39. $CounterToday = ++$row['CounterToday'];  
  40. $upd_sql = "update mycounter set counter = '$Counter',CounterToday = '$CounterToday' WHERE id = ?' ";  
  41. $myquery = mysql_query($upd_sql);  
  42. }  
  43. echo "總訪問量:".$Counter;  
  44. echo "  
  45. ";  
  46. echo "今日流量:".$CounterToday;  
  47. echo "  
  48. ";  
  49. echo "昨日流量:".$CounterLastDay;  
  50. }else{//如果數據庫為空時,相應的操作  
  51. }  
  52. }  
  53. ?>   

當然,需要在文件第一行開始寫出如下代碼:

  1. <?PHP  
  2. session_start();  
  3. if( !isset($_COOKIE["user"]) ){  
  4. setcookie("user","newGuest",time()+3600);  
  5. }else {  
  6. setcookie("user","oldGuest");  
  7. }  
  8. ?> 

如果是靜態頁面我們上面的方法是不可以實現的,但下面再舉一個不錯的統計實例,代碼如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
  5. <title>Insert title here</title> 
  6. <mce:script language="javascript" src="count.php?aid=1&t=show" mce_src="count.php?aid=1&t=show"></mce:script> 
  7. <mce:script language="javascript" src="count.php?aid=1" mce_src="count.php?aid=1"></mce:script> 
  8. </head> 
  9. <body> 
  10.  <h1>php統計靜態html頁面瀏覽訪問次數代碼</h1> 
  11.  <hr> 
  12. </body> 
  13. </html>  

count.php代碼如下:

  1. <?php 
  2.     $aid  = isset( $_GET['aid'] )?$_GET['aid']:''
  3.     $t = isset( $_GET['t'] )?$_GET['t']:''
  4.  if(intval$aid )){ 
  5.   if$t =='show' ){ 
  6.     echo "document.write('這里是顯示瀏覽次數,可以從數據庫讀出來');"
  7.   } 
  8.   else
  9.     $conn = mysql_connect('localhost','root','root') ; 
  10.     $sql = "Update count set click_num = click_num+1 where aid ='$aid'"
  11.     mysql_db_query('db_test',$sql,$conn); 
  12.   } 
  13.  } 
  14. ?> 

數據庫,代碼如下:

  1. -- 
  2. -- 表的結構 `count` 
  3. -- 
  4. CREATE TABLE IF NOT EXISTS `count` ( 
  5.   `id` int(11) NOT NULL auto_increment, 
  6.   `aid` int(11) default NULL
  7.   `click_num` int(11) default NULL
  8.   PRIMARY KEY  (`id`) 
  9. ) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ; 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌宁县| 平陆县| 汤原县| 青浦区| 潍坊市| 五台县| 安宁市| 龙门县| 丹寨县| 华安县| 延长县| 上思县| 泗阳县| 九龙坡区| 贺兰县| 高陵县| 井陉县| 宜阳县| 宜州市| 保定市| 格尔木市| 巨野县| 岳普湖县| 忻城县| 三亚市| 高淳县| 广平县| 合肥市| 保靖县| 开封县| 嘉鱼县| 菏泽市| 宝清县| 静乐县| 石棉县| 利川市| 舞阳县| 新龙县| 堆龙德庆县| 方正县| 昆明市|