精华内容
下载资源
问答
  • 怎么进行访问量统计,此资源中的代码也许可以帮助你解决这理问题。访客系统信息如IP,当前在线人数统计,网站总访问量
  • Web并发页面访问量统计实现

    万次阅读 热门讨论 2018-01-21 09:49:56
    Web并发页面访问量统计实现 页面访问量统计,可能在上学的时候就讲过如何简单实现,例如在servletContext中保存一个页页面访问次数,然后每访问一次加1;或者每访问一次就把操作记录保存到数据库,这样的处理方式,...

                                     Web并发页面访问量统计实现

    页面访问量统计,可能在上学的时候就讲过如何简单实现,例如在servletContext中保存一个页页面访问次数,然后每访问一次加1;或者每访问一次就把操作记录保存到数据库,这样的处理方式,做做实验就算了,在实际应用中这样应用对系统性能影响特别大。


    第一种方式,因为页面访问次数属于一个公共变量,在对公共变量进行修改的时候,往往需要加上同步锁;同步锁会导致访问速度明显变慢;第二种方式也一样,而且频繁访问数据库也不是一种合理的方式。


    前不久,我一个朋友要我帮他们写一个简单的页面统计代码。1、需求是保存页面访问IP、时间、以及其他一些可用的信息,以后需要保存的访问信息可扩展 2、不能影响当前的访问速度 3、能支持一定量的并发访问


    接到朋友给的这个需求,我想到了一下几点:1、如何筛选我们需要统计的页面;2、需要将访问和统计分离,不在访问的线程中来保存访问信息,另外起一个线程将访问信息保存到数据库;3、可以使用一个公共的队列来保存这个访问信息;4、可以批量的保存一定量的访问信息
      

    解决方案:

    1、针对第一个问题,我给出了两个方法。1、使用一个集合保存所有的需要统计的页面,然后再在Filter里面判断当前请求是否在在统计之列;2、在JSP页面中引入一段公共代码,在代码中使用类似这种CounterUtils.addCounter(request);这种方法有一个好处,维护需要统计的页面比较方便,而且感觉上更加高效,不需要Filter拦截。但是朋友坚决用第一种方式,也是没有办法。


    2、每访问一次,我们将需要保存的信息保存成一个对象,然后放入到队列当中,然后另起一个线程定期进行保存。


    于是我就写了一个简单的demo给朋友,没过多久,就被退货了。经过测试并发还没到200就突然不保存数据库了,访问也变得特慢,最后竟然堆内存溢出了。


    没有办法只能再在本机用loadRunner进行测试,同时通过jconsole java自带工具来检测内存变化情况。测试情况与朋友说的一样,刚开始能够正常运行,当并发达到一定量,就开始出现保存缓慢,最后不知道怎么整的保存线程不再运行,就这样队列越来越大,自然堆内存大到溢出了。


    从上面的情况也可以想到,一个队列有可能无法支持这么大的并发访问,于是就想使用多个队列来进行保存,使用类似分表分库的方法,将不同请求分配到不同的队列中去,于是就变成了下面这种方式:


    部分代码如下:(尾部有相关源码获取方式)
    1、初始化生成linkedList集合列表


    将请求封装成统计所需对象

    3、轮询LinkedList队列集合

    4、ExecuteThread线程用于批量保存访问日志

      // 批量保存数据库

       这个分两种方式

    1、保存详细的访问记录,例如,某某时候某个IP对某个页面进行了访问  

    2、只保存某天每个页面访问的总数


      对于第一种方式,使用批量保存即可。对于第二种方式可以使用一个hashTable来维护所有页面某个时间段内的对应页面的访问增量,具体维护方式可以如下:


      将reqestStc信息维护进HashTable当中,其中维护过程省略;再写一个定时器,定时将HashTable中的增量数据flush到数据库中;

    5、如何拦截需要统计的访问请求
    方法一:通过判断uri是否在需要统计之列
    方法二:在需要统计的jsp中添加JAVA代码例如:CounterUtils.addCounter(request);

    方法三:JS异步访问,类似百度统计的这种方式,这种方式有个好处,就是不影响页面加载速度。


    经过修改,在loadRunner和tomcat的测试下,基本上能够达到tomcat最大的并发以上用户,并且占用少量资源。


    还有一种方式就是百度统计那种方式,在js端使用异步统计代码,这样做的好处是不影响页面的加载速度,代码如下图,具体实现没有去深究:

    (转:http://blog.csdn.net/wushuchu/article/details/52036753)

    公众号回复"page"获取相关源码


    展开全文
  • 在网站推广活动之前,业务方根据经验评估出的系统访问量PV,然后根据各个系统所占的流量比例,计算出每个子系统的访问量,比如商品列表1000万,商品详情1500万,下单500万等,然后根据每个系统和数据库的交互次数,来算出...

          在网站推广活动之前,业务方根据经验评估出的系统访问量PV,然后根据各个系统所占的流量比例,计算出每个子系统的访问量,比如商品列表1000万,商品详情1500万,下单500万等,然后根据每个系统和数据库的交互次数,来算出数据库的访问量,比如访问量巨大的首页,我们一般存放到CDN缓存中,并且将页面进行静态化,动态数据通过异步获取,通过CDN系统的智能路由,能够将用户的请求路由到离他最近的CDN缓存机器上获取页面;系统峰值评估时,会遵循一个原则:80%的访问请求将在20%的时间内到达,则峰值qps= (总PV*80%)/(60*60*24*20%),所需要的机器数 = 峰值qps /单台机器所能承受的最高qps,可以通过访问日志分析(下回讲解),在高流量时期,实时计算出当前系统的qps值,绘出水位图:当前水位= 当前总qps/(单台机器极限qps*机器数)*100%,从而来达到监控流量的目的;

       既然我们已经知道如何监控流量,那如何来控制流量,不让流量超出它的系统最高水位呢?方法有:对系统的总并发请求书进行限制,限制单位时间内的请求次数,通过白名单机制来限制每一个接入系统调用的频率等,如果限制总并发请求,那超出来的部分浏览应该如何处理?最简单的方式直接返回,其中java中采用的信号量机制,但是这样会带来糟糕的用户体验,

    java信号量机制(等待数为0)

    当然直接返回的方式太粗暴,我们可以通过单机内存队列来进行有限的等待,可以提升用户体验和提高资源利用率,同样采取的还是java信号量机制;

    java信号量机制(等待队列数)

          还有可以采取分布式消息队列来将用户的请求异步化,其中用到的工具就是ActiveMQ消息中间件,用户的请求直接提交给分布式请求处理队列,提交成功则视为处理成功,系统返回,后端通过不断的读取请求队列中的数据,来进行业务逻辑处理,,这样,请求的接收与业务逻辑就实现了解耦,当请求多时,则请求进入请求处理队列排队,这样做的好处是:解耦,前端客户能及时得到响应,后端也可以以固定的频率来处理业务,不至于被过大流量击垮,当然,这样也是存在问题的,存在的问题:队列的容量有限,如果有大量请求且持续时间很长,会导致消息积压,并且以异步的方式提交,对于队列系统的可靠性也是一大考验,而且有的业务必须保证消息成功投递,就需要使用到事务消息,对于重复投递的消息,也需要有去重机制来保障,否则消息被重复处理会导致数据紊乱;

    展开全文
  • 网站用户访问量统计—Django

    千次阅读 2019-08-08 20:25:30
    最近准备弃用Django自带的admin,将个人博客网站接入hadmin后台模板,同时想要实现用户访问量统计功能。在网上查了一下具体实现方法。众说纷纭,有接入第三方的、有js实现的、有后端代码实现的,第三方的话很简单,...

    最近准备弃用Django自带的admin,将个人博客网站接入hadmin后台模板,同时想要实现用户访问量统计功能。在网上查了一下具体实现方法。众说纷纭,有接入第三方的、有js实现的、有后端代码实现的,第三方的话很简单,在前端页面上加入几行代码就可以了,但是查询访问量的时候貌似需要登录第三方网站才能查询,而我想要实现在网站上展示这些数据,其次安全性也是一个大问题,本着能造车轮就不闲着的原则,我自己动手写了一个简单的访问量统计功能,包括当日用户量、总用户量。同时添加了ip过滤功能——即同一ip同一天内访问多次时在后端只记录一次。

    实现思路:

    在数据库中建立两张数据表,分别存放总用户访问量和当日访问用户IP地址,找到一个用户访问网站大概率会经过的页面,在其后端代码中加上相应的功能代码。用户每访问一次该页面,后台获取用户IP地址,再拿该地址到数据库中比对查看是否已有数据,有的话不执行操作,否则将该IP地址存到数据库中(实现同一IP多次访问记录一次)。

    实现代码:

    model文件中创建两个表

    class Website_views(models.Model):
        """
        网站访问量统计表:字段ID、总访问量
        """
        nid = models.AutoField(primary_key=True)
        views = models.IntegerField()
    
    
    class view_ip(models.Model):
        """
        最近访问用户IP:字段ID、用户IP
        """
        nid = models.AutoField(primary_key=True)
        user_ip = models.CharField(max_length=15, null=False)
        create_time = models.DateTimeField(auto_now_add=True)
    
    

    将访问量统计功能封装成对应的函数

    def get_user_ip(request):
        if 'HTTP_X_FORWARDED_FOR' in request.META:        # 获取用户真实IP地址
            user_ip = request.META['HTTP_X_FORWARDED_FOR']
        else:
            user_ip = request.META['REMOTE_ADDR']
        obj = models.view_ip.objects.first()
        if not obj == None:                                # 判断数据表是否为空
            ct = obj.create_time
            if not ct.month == dt.datetime.now().month or not ct.day == dt.datetime.now().day:      # 判断表中数据是否为当日访问
                objs = models.view_ip.objects.all()         # 不是当日访问则迭代删除表中数据
                for i in objs:
                    i.delete()
            if not models.view_ip.objects.filter(user_ip=user_ip):  # 判断当日用户是否已经访问过本网站
                models.view_ip.objects.create(user_ip=user_ip)  # 将用户IP存入数据库
                total_views_add()                         # 网站总访问量+1
        else:
            # print(user_ip)
            models.view_ip.objects.create(user_ip = user_ip)
            total_views_add()
    
    
    def total_views_add():
        obj = models.Website_views.objects.first()
        if obj == None:
            models.Website_views.objects.create(views=1)
        else:
            total_views = models.Website_views.objects.first()
            total_views.views = total_views.views + 1
            total_views.save()
    
    

    当日访问用户IP地址表中的数据并不一定是当日的,因为假如8月5日有10个用户访问该网站,此时表中数据是这10个用户的IP地址,8月6日当有用户访问时,数据库中的数据还是8月5日的这个时候就要对数据进行有效判断,具体操作是每次有用户访问时都取数据表中第一条数据和datatime.now(获取当前时间),判断两者的month和day是否相等,相等则是同日内访问的有效数据,不相等则说明该用户是当天第一个访问本网站的用户,然后删除表中所有数据并将该用户IP地址存入表中。

    在对应函数中调用功能函数
    在这里插入图片描述

    效果展示:

    在局域网下分别通过主机、ipad、手机多次登录网站

    view_ip表

    view_ip表数据展示

    Website_views表

    Website_views表数据展示
    关于前端展示部分还没有实现,思路很简单获取总访问量直接取表中数据即可,获取当日访问量需要先进行数据有效判断,再统计表中数据的字段总数count。

    注:

    由于改版后的网站还未上线,只能在局域网下进行简单的测试,所以代码中可能还存在一些未知的bug。在网站上线后将进行系统测试并修复bug。
    Website_views表中只有一条记录,这样看来有些大材小用。其实也可以在static文件中创建一个txt文档用于保存总访问量数据,通过python对文本进行读写来模拟操作数据库,不过在代码上会稍微麻烦一些。
    原文地址: https://www.jhxblog.cn/article/?articleid=7

    展开全文
  • java jsp实现网站访问量统计

    万次阅读 2016-04-23 14:45:48
    最近做网站的开发,需要做网站的访问量统计,以前也做过这方面的东西,不过以前做的时候是在asp下做的,而且只能实现简单的网站历史总访问量的统计,且访问的数据是放在文件一个文件中的,现在在jsp下实现,个人感觉...
    最近做网站的开发,需要做网站的访问量统计,以前也做过这方面的东西,不过以前做的时候是在asp下做的,而且只能实现简单的网站历史总访问量的统计,且访问的数据是放在文件一个文件中的,现在在jsp下实现,个人感觉如果再用文件的形式来存贮访问量的话,就有点辱没java语言的强大功能了,所以自己设计了一个网站访问量统计的程序,现帖出如下,希望对jsp开发的同学有帮助
     
          首先说一下设计的思想,由于访问量需要在每个页面进行显示,如果每次都进行文件的读写,或是查询数据库的话,显示是极其浪费资源的,所以以下的程序,采用了缓存的方式,对访问量进行缓存,并在更新缓存的同时同步更新库中的数据,(说点题外话,这一步读者可以自己视情况而改为每隔一定的时间向数据库写一次数据,这样会占用更少的资源,而达到同样的效果,这里笔者只所以没有采用这种方式,是因为当前的java虚拟机还没有一种释放缓存并通知用户程序的机制,也就是说,如果系统资源不足,或是缓存的资源长时间未利用时,java虚拟机很可能会释放缓存,而在释放缓存之前虚拟机并不会通知程序做善后的处理,从而造成数据的丢失,而且虚拟机释放资源的时间也是不确定的,因为如果系统资源充足,有可能即使不用,也会隔很长一段时间系统才会释放缓存资源,所以读者如果采用这种方式进行操作进,对更新数据库的时间间隔一定要把握好),不过再查询访问量的时候,先访问缓存的资源,如果没有再查数据库,并将查到的数据缓存,这样在一段时间间隔内再次显示的时候就不用再次查询数据库了。好了,闲话少说,下面介绍实现方法吧
     
    步骤一、建一个表,表名任意,这里取名为:visitorcounter,当然读者可以自己取一个更加规范的数据库表名,表的结构如下所示:
    +-------+------------------+------+-----+------------+----------------+
    | Field | Type             | Null | Key | Default    | Extra          |
    +-------+------------------+------+-----+------------+----------------+
    | id    | int(11) unsigned | NO   | PRI | NULL       | auto_increment |
    | vdate | date             | NO   |     | 2000-01-01 |                |
    | vnum  | int(11)          | NO   |     | 0          |                |
    +-------+------------------+------+-----+------------+----------------+
    步骤二、建立一个java类,名字也为:visitorcounter,这个文件名字读者也是任意起,按照自己的规范能明白其含义即可,(注意以下在数据库连接的时候使用了数据库连接沲来进行连接,相应的的类可见我博客数据连接沲的应用)类的内容如下:
     
    package com.hdzx.pub;
    import java.sql.ResultSet;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class VisitorCounter {
     private final static String TABLE_NAME = "visitorcounter";
     private static String today = null;
     private static long today_num = 0;
     private static long total_num = 0;
     //加载访问量
     public static void loadNum(){
      if(total_num<1)
       loadTotalNum();
      if(today_num<1)
       loadToadyNum();
     }
     //加载今日访问量
     private static void loadToadyNum() {
      // TODO Auto-generated method stub
      DBConnect db = null;
      ResultSet rs = null;
      if(today==null)
       today = getTodayDate();
      String sql = "select vnum from "+TABLE_NAME+" where vdate='"+today+"'";
      try {
       db = new DBConnect();
       rs = db.executeQuery(sql);
       if(rs.next()){
        today_num = rs.getLong("vnum");
       }
       else
       {    
        sql = "insert into "+TABLE_NAME+"(vdate,vnum) values('"+today+"',0)";
        db.executeUpdate(sql);
        today_num = 0;
       }
      } catch (Exception e) {
       // TODO: handle exception
       today_num = 0;
       System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:获得访问人数");
      }
     }
     //加载总访问量
     private static void loadTotalNum() {
      // TODO Auto-generated method stub
      // TODO Auto-generated method stub
      DBConnect db = null;
      ResultSet rs = null;
      if(today==null)
       today = getTodayDate();
      String sql = "select vnum from "+TABLE_NAME+" where id=1";
      try {
       db = new DBConnect();
       rs = db.executeQuery(sql);
       if(rs.next()){
        total_num = rs.getLong("vnum");
       }
       else
       {
        total_num = 0;
       }
      } catch (Exception e) {
       // TODO: handle exception
       total_num = 0;
       System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:获得访问人数");
      }
     }
     //增加总的访问量
     private static int incTotalCounter(){
      int k = 0;
      DBConnect db = null;
      loadNum(); 
      total_num = total_num+1;
      String sql = "update "+TABLE_NAME+" set vnum="+total_num+" where id=1";
      try {
       db = new DBConnect();
       k = db.executeUpdate(sql);
      } catch (Exception e) {
       // TODO: handle exception
       System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:增加访问人数");
      }
      return k;
     }
     //增加今日的访问量
     public static int incTodayCounter(){
      int k  = 0;
      DBConnect db = null;
      String sql = null;
      loadNum();
      today_num += 1;
      sql = "update "+TABLE_NAME+" set vnum="+today_num+" where vdate='"+today+"'";
      try {
       db = new DBConnect();
       k = db.executeUpdate(sql);
       if(k > 0)
        incTotalCounter();
      } catch (Exception e) {
       // TODO: handle exception
       System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:增加访问人数");
      }
      return k;
     }
     //获得今天的日期
     private static String getTodayDate(){
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      return sdf.format(new Date());
     }
     ///获得今日访问量
     public static long getTodayNum(){
      loadNum();
      return today_num;
     }
     //获得总的访问量
     public static long getTotalNum(){
      loadNum();
      return total_num;
     } 
    }
    步骤三、经过以上的步骤后,在页面中加入以下的代码,就可以实现网站访问量的统计工作:
         if(session.isNew())
           {
                VisitorCounter.incTodayCounter();
           }
          %>
          今日访问量:<%=VisitorCounter.getTodayNum() %><br/>
          总的访问量: <%=VisitorCounter.getTotalNum() %>
    展开全文
  • 并发页面访问量统计简单实现

    万次阅读 2016-07-26 16:05:40
    页面访问量统计,可能在上学的时候就讲过如何简单实现,例如在servletContext中保存一个页页面访问次数,然后每访问一次加1;或者每访问一次就把操作记录保存到数据库,这样的处理方式,做做实验就算了,在实际应用...
  • ~Jsp可以进行简单的页面访问量统计,当然也可以使用Jsp刷访问量。 1:第一种使用全局变量进行页面的访问量统计,只有新打开一个浏览器才可以进行统计。 2:第二种使用application进行页面的访问量统计,也是打开一...
  • 统计网站页面的访问量

    千次阅读 2016-10-24 16:16:21
    最近做的《食盐行业信用管理与公共服务系统》项目,需要做一个网站文章页面的访问量功能。自己的解决方案,可能很简陋,但是解决了问题,而且我也给出了详细的过程。请大家多多支持,参与谈论。博客写这么长不容易啊...
  • 使用springboot+redis+spring aop+spring schedule实现页面访问量统计功能 思路介绍 页面访问访问量统计,常用的springboot项目中,我们的controller的获取文章的方法主要是 public class Controller{ @GetMapping...
  •   ... charset=utf-8'); $online_log = "count.... //flock() 不能在NFS以及其他的一些网络文件系统中正常工作 fputs($fp,$entries); flock($fp,LOCK_UN); fclose($fp); echo "当前在线".$users_online."人"; ?>
  • nginx一段时间内的访问量统计

    千次阅读 2015-08-14 11:45:31
    1,统计nginx日志红9-11点,每分钟 访问量,日志输出数量,从大到小排序 当然没有去重,但可以大致了解每分钟的并发情况: sudo sed -n '/2015:09:00/,/2015:11:00/p' access_wcs.log | awk '{a[substr($4,9,10)]+=1...
  • springboot项目下关于网站访问量UV统计 例,根据某篇文章的id,获取该文章一天内被浏览的次数,且不允许存在恶意刷新浏览次数 了解什么是UV统计 要想实现该功能,首先得了解什么是UV,PV,IP PV:页面访问量,即...
  •   在日常的网站使用中,经常会碰到页面的访问量(或者访问者人数)统计。那么,在Spring Boot中该如何实现这个功能呢?   我们的想法是比较简单的,那就是将访问量储存在某个地方,要用的时候取出来即可,储存...
  • 我用的springmvc,大致讲讲自己的思路吧:要对页面访问量统计也就是pv,主要就是拦截,写一个拦截器类实现HandlerInterceptor接口,拦截所有请求,但是需要注意的是,配置拦截器的时候需要排除不拦截的请求,因为...
  • java统计网站访问量

    千次阅读 2014-05-26 20:28:46
    人数统计好说,因为,可已设置监听器,让其在服务器启动的时候进行监听,然后统计登录人数,但是统计在线人数,就麻烦点了,因为大多数人都不愿意点击注销按钮,直接关闭浏览器,这样session的关闭就麻烦了点,我先...
  • test.log日志格式如下:访问时间 05/May/2017:11:37:45 05/May/2017:13:46:20 05/May/2017:13:49:58 05/May/2017:13:50:16 05/May/2017:13:51:05 05/May/2017:13:51:06 05/May/2017:13:51:07 05/May/2017:13...
  • 添加访问量统计: 选择nginx: 访问量显示: 保存: 添加: 动态测试: 在其他服务器端访问: [root @server5 ~] # ab -c 1 -n 900 http://172.25.17.4/index.html ...
  • 我发现公司很多代码,比如去统计某个页面的访问量,很多开发同事都是在相应的controller去统计访问量,打个比方说统计userManager页面访问量,就在UserManagerController中,跳转usermanager页面的方法中做点击统计...
  • 2019-03-14 1、下载运维每天归档的日志 2、找运维要到 tomcat acess log 配置格式为 pattern="...先导入到excel中,预处理了一下,几个不需要的字段删除掉,本来想在excel中统计,速度太慢,统计了两个接口就受...
  • JS 精确统计网站访问量程序

    千次阅读 2012-01-10 10:21:43
    * vlstat 浏览器统计脚本 */ var statIdName = "vlstatId"; var xmlHttp; /** * 设置cookieId */ function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDa
  • 统计 访问量前10的ip 及访问次数

    千次阅读 2015-05-28 10:29:45
    “念念不忘,必有回响” 以前有人问过我这个问题,当时不会啊,通过最近对linux的学习终于完成了哈哈!! 命令:cat access.log |awk '{ipArr[$1]++} END{for( item in ipArr) print item,ipArr[item]}' | sort -r ...
  • laravel 使用事件系统统计浏览

    千次阅读 2018-06-09 20:07:25
    最近有一个商城项目中有统计商品点击量和艺术家访问量的需求,但又不想改动太多原来的代码,而点击与访问这两个动作是有明确触发点的,正好可以用laravel中的事件系统来做,在点击和访问对应的函数中产生这俩事件,...
  • //设置txt文档路径(count.txt用来记录总访问量,countday.txt用来记录日访问量) public static final String countPath="D:\\project\\src\\main\\webapp\\WEB-INF\\count.txt"; public static final String ...
  • 通常在整个过程中,大多数人对... 想弄明白这个问题,需要将程序发布,这里以IIS为例,用IIS发布了程序之后运行,当想要触发Application_End()事件把最新的历史访问量写入到 数据库中时,需要在IIS中关闭此程序
  • 当我们要统计某一个网站某一天的访问量的时候,就可以直接使用 HLEN 来得到最终的结果了。 优点: 简单,容易实现,查询也是非常方便,数据准确性非常高。 缺点: 占用内存过大,。随着key的增多,性能也会下降。小...
  • asp 实现同一帐号,防止多人同时登录、获取在线列表、实现登录日志(可用户统计在线时长),适合用户访问量大的系统connAccess.asp文件 dim strconn Set con=Server.CreateObject("ADODB.Connection") strconn=...
  • 系统吞吐

    千次阅读 2019-02-18 11:04:59
    文章目录名词解释:一、系统吞吐要素二、软件性能的几个主要术语1、响应时间:对请求作出响应所需要的时间2、并发用户数的计算公式3、吞吐的计算公式4、性能计数器5、思考时间的计算公式 名词解释: TPS|QPS:...
  • 摘要 作为网站站长,对于网站统计系统可能并不陌生,如百度统计,google analysis之类的产品并不陌生。本文介绍的是一种替代这一类产品的开源系统——piwik,功能上一点不输于商业的统计系统。 piwik ...
  • 基于php的记录网页访问量的小代码

    千次阅读 2017-06-06 17:30:02
    //统计网站 pv (访问量) //首先判断有没有统计的文件 if (is_file("tongji.txt")) {//有 //取文件里的值  $a =file_get_contents("tongji.txt"); //累加 $a++; //累加后的值存进去  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 278,515
精华内容 111,406
关键字:

系统访问量怎么统计