本文章来给大这介绍了php自己写的一些常用的网站统计代码写法,用无数据库的与使用数据库及html静态页面浏览资次数统计代码,大家可进入参考。
实例1
直接使用txt文件进行统计的代码
代码如下 | 复制代码 |
<?php $fp = fopen($filepath,'w');
fwrite($fp,0); function counter($f_value) |
上面使用的是txt文件,下面我们来介绍一个mysqlmysql数据库操作实例
代码如下 | 复制代码 |
CREATE TABLE `mycounter` ( |
函数
代码如下 | 复制代码 |
<?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 |
如果是静态页面我们上面的方法是不可以实现的,但下面再举一个不错的统计实例
代码如下 | 复制代码 |
<!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 |
数据库
代码如下 | 复制代码 |
-- |
解决php中Cannot send session cache limiter 的问题的方法
今天在使用php 的session 的时候,出现了以前就遇见但是又解决不了的问题,在页面上出现如下提示:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\php\code\admin.php:1) in E:\php\code\logolist\adminlogo.php on line 2
上网搜了一下,有人说是因为在session_start(); 语句之前有其他的html代码,但是我的session_start(); 已经在做前面了。
还有的说是因为没有设置session 保存路径,需要修改php.ini中的session.save_path = "C:/phpsession" [后边的路径自己设置,并且要保证存在。php.ini 文件一般应位于系统盘/Windows 目录下面]
但是我做如上设置之后还是会有这个提示。后来经过反复测试,终于解决问题。
解决办法:
修改php.ini中的session.auto_start = 0 为 session.auto_start = 1