加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php统计网站 html页面浏览访问数量程序

发布时间:2022-02-10 04:44:58 所属栏目:PHP教程 来源:互联网
导读:本文章来给大这介绍了php自己写的一些常用的网站统计代码写法,用无数据库的与使用数据库及html静态页面浏览资次数统计代码,大家可进入参考. 实例1,直接使用txt文件进行统计的代码,代码如下: ?php session_start();//定义session,同一IP登录不累加 $filepa
  本文章来给大这介绍了php自己写的一些常用的网站统计代码写法,用无数据库的与使用数据库及html静态页面浏览资次数统计代码,大家可进入参考.
 
  实例1,直接使用txt文件进行统计的代码,代码如下:
 
  <?php
  session_start();//定义session,同一IP登录不累加
  $filepath = 'count.txt';
  if ($_SESSION['temp'] == '')//判断$_SESSION[temp]的值是否为空,其中的temp为自定义的变量
  {
   if (!file_exists($filepath))//检查文件是否存在,不存在刚新建该文件并赋值为0
   {
    $fp = fopen($filepath,'w');
    fwrite($fp,0);
    fclose($fp);
    counter($filepath);
   }else
   {
    counter($filepath);
   }
   $_SESSION['temp'] = 1;//登录以后,给$_SESSION[temp]赋一个值1
  }
  echo '欢迎来到懒人站长素材网站,您是本站第<font color="#FF0000">'.file_get_contents($filepath).'</font>位访客';
  //counter()方法用来得到文件内的数字
  
  function counter($f_value)
  {
   //用w模式打开文件时会清空里面的内容,所以先用r模式打开,取出文件内容,保存到变量
   $fp = fopen($f_value,'r') or die('打开文件时出错。');
   $countNum = fgets($fp,1024);
   fclose($fp);
   $countNum++;
   $fpw = fopen($f_value,'w');
   fwrite($fpw,$countNum);
   fclose($fpw);
  }
  //注释下面一行可以实现同一IP登录不累加效果,测试时可以打开
  session_destroy();
  ?>
  上面使用的是txt文件,下面我们来介绍一个mysql数据库操作实例,代码如下:
 
  CREATE TABLE `mycounter` (  
  `id` int(11) NOT NULL auto_increment,  
  `Counter` int(11) NOT NULL,  
  `CounterLastDay` int(10) default NULL,  
  `CounterToday` int(10) default NULL,  
  `RecordDate` date NOT NULL,  
  PRIMARY KEY (`id`)  
  ) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ;
  函数代码如下:
 
  <?PHP  
  public function ShowMyCounter(){  
  //定义变量  
  $IsGone = FALSE;  
  //读取数据  
  $querysql = "SELECT * FROM `mycounter` WHERE id = Ƈ' ";  
  $queryset = mysql_query($querysql);  
  $row = mysql_fetch_array($queryset);  
  //获得时间量  
  $DateNow = date('Y-m-d');  
  $RecordDate = $row['RecordDate'];  
  $DateNow_explode = explode("-",$DateNow);  
  $RecordDate_explode = explode("-",$RecordDate);  
  //判断是否已过去一天  
  if( $DateNow_explode[0] > $RecordDate_explode[0]) $IsGone = TRUE;  
  else if( $DateNow_explode[0] == $RecordDate_explode[0] ){  
  if( $DateNow_explode[1] > $RecordDate_explode[1] ) $IsGone = TRUE;  
  else if( $DateNow_explode[1] == $RecordDate_explode[1] ){  
  if( $DateNow_explode[2] > $RecordDate_explode[2] ) $IsGone = TRUE;  
  }else BREAK;  
  }else BREAK;  
  //根据IsGone进行相应操作  
  IF($IsGone) {  
  $RecordDate = $DateNow;  
  $CounterToday = 0;  
  $CounterLastDay = $row['CounterToday'];  
  $upd_sql = "update mycounter set RecordDate = '$RecordDate',CounterToday = '$CounterToday',CounterLastDay = '$CounterLastDay' WHERE id = Ƈ' ";  
  mysql_query($upd_sql);  
  }  
  //再次获取数据  
  $querysql = "SELECT * FROM `mycounter` WHERE id = Ƈ' ";  
  $queryset = mysql_query($querysql);  
  $Counter = $row['Counter'];  
  $CounterToday = $row['CounterToday'];  
  $CounterLastDay = $row['CounterLastDay'];  
  if($row = mysql_fetch_array($queryset) ){  
  if( $_COOKIE["user"] != "oldGuest" ){  
  $Counter = ++$row['Counter'];  
  $CounterToday = ++$row['CounterToday'];  
  $upd_sql = "update mycounter set counter = '$Counter',CounterToday = '$CounterToday' WHERE id = Ƈ' ";  
  $myquery = mysql_query($upd_sql);  
  }  
  echo "总访问量:".$Counter;  
  echo "  
  ";  
  echo "今日流量:".$CounterToday;  
  echo "  
  ";  
  echo "昨日流量:".$CounterLastDay;  
  }else{//如果数据库为空时,相应的操作  
  }  
  }  
  ?>   
  当然,需要在文件第一行开始写出如下代码:
 
  <?PHP  
  session_start();  
  if( !isset($_COOKIE["user"]) ){  
  setcookie("user","newGuest",time()+3600);  
  }else {  
  setcookie("user","oldGuest");  
  }  
  ?>
  如果是静态页面我们上面的方法是不可以实现的,但下面再举一个不错的统计实例,代码如下:
 
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Insert title here</title>
  <mce:script language="javascript" src="count.php?aid=1&t=show" mce_src="count.php?aid=1&t=show"></mce:script>
  <mce:script language="javascript" src="count.php?aid=1" mce_src="count.php?aid=1"></mce:script>
  </head>
  <body>
   <h1>php统计静态html页面浏览访问次数代码</h1>
   <hr>
  </body>
  </html>  
  count.php代码如下:
 
  <?php
      $aid  = isset( $_GET['aid'] )?$_GET['aid']:'';
      $t = isset( $_GET['t'] )?$_GET['t']:'';
   if(intval( $aid )){
    if( $t =='show' ){
      echo "document.write('这里是显示浏览次数,可以从数据库读出来');";
    }
    else{
      $conn = mysql_connect('localhost','root','root') ;
      $sql = "Update count set click_num = click_num+1 where aid ='$aid'";
      mysql_db_query('db_test',$sql,$conn);
    }
   }
  ?>
  数据库,代码如下:
 
  --
  -- 表的结构 `count`
  --
  CREATE TABLE IF NOT EXISTS `count` (
    `id` int(11) NOT NULL auto_increment,
    `aid` int(11) default NULL,
    `click_num` int(11) default NULL,
    PRIMARY KEY  (`id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ;
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读