php统计网站 / html页面 浏览访问次数程序
本文章来给大这介绍了php自己写的一些常用的网站统计代码写法,用无数据库的与使用数据库及html静态页面浏览资次数统计代码,大家可进入参考。
实例1
直接使用txt文件进行统计的代码
<?php
session_start(); //定义session,同一IP登录不累加
$filepath = 'count.txt'; //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
session_start();
if( !isset($_COOKIE["user"]) ){
setcookie("user","newGuest",time()+3600);
}else {
setcookie("user","oldGuest");
} function ShowMyCounter(){
$id = $_GET['id'];
//定义变量
$IsGone = FALSE;
// 连接数据库
$conn = mysql_connect('localhost', 'root', 'root');
mysql_select_db('php_test', $conn);
//读取数据
$querysql = " SELECT * FROM `mycounter` WHERE id = '$id' ";
// $querysql = " SELECT * FROM `mycounter` ";
$queryset = mysql_query($querysql, $conn);
$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 = '$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 = $id ";
$myquery = mysql_query($upd_sql);
}
echo "总访问量:".$Counter;
echo "
";
echo "今日流量:".$CounterToday;
echo "
";
echo "昨日流量:".$CounterLastDay;
}
else{
//如果数据库为空时,相应的操作
}
}
ShowMyCounter();
?>
如果是静态页面我们上面的方法是不可以实现的,但下面再举一个不错的统计实例
未完成。。。。。。。。。。。。。。
php统计网站 / html页面 浏览访问次数程序的更多相关文章
- JSP+Servlet+JavaBean统计页面在线访问次数
统计页面浏览次数:使用的是servlet实现统计次数传递给JSP页面 说明:我做的都比较接地气,意思就是比较简单! 效果图如下: 上代码 counter.java(它真的好简单,啥事不干,只是定义一个 ...
- PHP设置30秒内对页面的访问次数
<?php //Calculate 60 days in the future //seconds * minutes * hours * days + current time $intime ...
- 学习笔记_过滤器应用_1(分ip统计网站的访问次数)
分ip统计网站的访问次数 ip count 192.168.1.111 2 192.168.1.112 59 统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做 ...
- Java web 实现 之 Filter分析ip统计网站的访问次数
统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做拦截操作!因为我们只是用来做统计的. 用什么东西来装载统计的数据.Map<String,Integer& ...
- jsp网站访问次数统计
JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您可以利用应用程序隐式对 ...
- 【JAVA系列】使用JavaScript实现网站访问次数统计代码
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]使用JavaScript实现网站 ...
- 分ip统计网站访问次数
package web.listener; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; ...
- php统计网站访问次数的一个简单方法
这里主要用到了session保存当前访问者,并将访问次数写入本地文件. <? @session_start(); $counter = intval(file_get_contents(&quo ...
- Java web--Filter过滤器分IP统计访问次数
分IP统计访问次数即网站统计每个IP地址访问本网站的次数. 分析 因为一个网站可能有多个页面,无论哪个页面被访问,都要统计访问次数,所以使用过滤器最为方便. 因为需要分IP统计,所以可以在过滤器中创建 ...
随机推荐
- CAD动态绘制样条线(com接口)
主要用到函数说明: _DMxDrawX::SendStringToExecuteFun 把命令当着函数执行,可以传参数.详细说明如下: 参数 说明 IDispatch* pParam 命令参数,IMx ...
- HTML5易漏知识点锦集
本文通过对w3schoolHTML5基础教程,整理出比较常见的却又容易遗忘或者忽略的HTML5相关知识点.本文的标题顺序与w3school中的HTML5基础教程标题顺序保持一致.适合翻阅和复习. 1. ...
- Js—innerHTML和innerText的区别
1.innerHTML属性和innerText属性 都是对元素的一个操作,简单讲,innerHTML可以在某种特定环境下重构某个元素节点的DOM结构,innerText只能修改文本值 在JavaScr ...
- MySQL的分组和排序
分组操作 select count(id) from userinfo group by pat(id); -- 聚合函数: --count --max --sum --avg ---如果对于二次函数 ...
- 48.cartinality的基本用法
主要知识点 cartinality的用法 es去重用的是cartinality metric算法,对每个bucket中的指定的field进行去重,然后获取去重后的count,类似于count( ...
- unigui菜单【3】
unigui菜单TuniTreeView 根据数据库表中的内容,显示菜单的处理: function TMainForm.CreateMenu: Integer; var myMenuPoint : P ...
- Django——11 状态保持 form表单 登陆注册样例
Django 状态保持 用户状态例子 实现注册登陆实例 django forms 表单的使用 注册功能 登陆功能 状态保持cookie和session 1.http协议是无状态的:每次请求都是一次 ...
- linux的ulimit各种限制之深入分析
一般可以通过ulimit命令或编辑/etc/security/limits.conf重新加载的方式使之生效 通过ulimit比较直接,但只在当前的session有效,limits.conf中可以根据用 ...
- [网络流24题#9] [cogs734] 方格取数 [网络流,最大流最小割]
将网格分为两部分,方法是黑白染色,即判断(i+j)&1即可,分开后从白色格子向黑色格子连边,每个点需要四条(边界点可能更少),也就是每个格子周围的四个方向.之后将源点和汇点分别于黑白格子连边, ...
- Linux终止进程的工具kill/killall/pkill/xkill/skill用法区别(转)
一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill等进行.比如一个程序已经死掉, ...