本文章来给大这介绍了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页面 浏览访问次数程序的更多相关文章

  1. JSP+Servlet+JavaBean统计页面在线访问次数

    统计页面浏览次数:使用的是servlet实现统计次数传递给JSP页面 说明:我做的都比较接地气,意思就是比较简单! 效果图如下: 上代码 counter.java(它真的好简单,啥事不干,只是定义一个 ...

  2. PHP设置30秒内对页面的访问次数

    <?php //Calculate 60 days in the future //seconds * minutes * hours * days + current time $intime ...

  3. 学习笔记_过滤器应用_1(分ip统计网站的访问次数)

    分ip统计网站的访问次数 ip count 192.168.1.111 2 192.168.1.112 59 统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做 ...

  4. Java web 实现 之 Filter分析ip统计网站的访问次数

    统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做拦截操作!因为我们只是用来做统计的. 用什么东西来装载统计的数据.Map<String,Integer& ...

  5. jsp网站访问次数统计

    JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您可以利用应用程序隐式对 ...

  6. 【JAVA系列】使用JavaScript实现网站访问次数统计代码

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]使用JavaScript实现网站 ...

  7. 分ip统计网站访问次数

    package web.listener; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; ...

  8. php统计网站访问次数的一个简单方法

    这里主要用到了session保存当前访问者,并将访问次数写入本地文件. <? @session_start(); $counter = intval(file_get_contents(&quo ...

  9. Java web--Filter过滤器分IP统计访问次数

    分IP统计访问次数即网站统计每个IP地址访问本网站的次数. 分析 因为一个网站可能有多个页面,无论哪个页面被访问,都要统计访问次数,所以使用过滤器最为方便. 因为需要分IP统计,所以可以在过滤器中创建 ...

随机推荐

  1. 前端自动化构建工具gulp使用

    1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev ...

  2. Django - 视图获取请求头

    1.urls.py(url和函数对应关系) 2.通过request.evniron,返回request的所有信息,用索引的方式,获取用户请求头信息. 3.也可以通过key,value方式,来展示请求头 ...

  3. linux学习3-简单磁盘管理

    简单的磁盘管理 下面涉及的命令具有一定的危险性,操作不当可能会丢失你的个人数据,初学者建议在虚拟环境中进行操作 通常情况下,这一小节应该直接将如何挂载卸载磁盘,如何格式化磁盘,如何分区,但如你所见,我 ...

  4. Win8.1 Hyper-V 共享本机IP上网

    公司的Win8.1自带了Hyper v,可是死活连接不到网络. 原因是公司只给每人分配一个局域网IP,而默认情况下Hyper-V的虚拟机会动态分配了一个没有经过MIS人员许可的IP…… 百度了N久解决 ...

  5. Servlet中使用RequestDispatcher调派请求--include

    一共有两种调派方式,一个是include用于包含进来,一个是forward,是转发出去. 这时先测试包含的include方式. Some.java: package cc.openhome; impo ...

  6. pt-osc改表导致数据不一致案例分析

    2016-06-10 李丹 dba流浪猫 我们平时除了解决自己问题外,有时候也会协助圈内人士,进行一些故障排查,此案例就是帮某公司DBA进行的故障分析,因为比较典型,特分享一下,但仅仅是分享发生的过程 ...

  7. [转]wcf系列学习——服务托管

    今天是系列的终结篇,当然要分享一下wcf的托管方面的知识. wcf中托管服务一般有一下四种: Console寄宿:             利于开发调试,但不是生产环境中的最佳实践. winform寄 ...

  8. [转]十五天精通WCF——第一天 三种Binding让你KO80%的业务

    转眼wcf技术已经出现很多年了,也在.net界混的风生水起,同时.net也是一个高度封装的框架,作为在wcf食物链最顶端的我们所能做的任务已经简单的不能再简单了, 再简单的话马路上的大妈也能写wcf了 ...

  9. Clojure:解决Selmer与AngularJS的 标签混淆问题

    Selmer是Clojure的一个模板类库,下面是它的一个DEMO模板: <ul> {% for item in items %} <li>{{item}}</li> ...

  10. [React Storybook] Get started with Storybook for React

    Storybook is a UI component development environment for React, Vue, and Angular. With that, you can ...