网站地图 | Sitemap | Rss
  • 您当前位置:网站首页 >> PHP学习 >> 用PHP读写文本文档制作最简单的访问计数器
  • 用PHP读写文本文档制作最简单的访问计数器

    来源:逍遥峡谷 发布时间:2010-10-13 浏览6条评论
    内容简介

    不需要数据库,仅仅用文本文档就可以实现。同样PHP也可以不用数据库,利用文本文档来实现网页访问计数功能。通过对比PHP和ASP,我们会发现,其实两者是有共通之处的,也就是说你精通任何一门语言再学另一门的话,就会轻车熟路、水到渠成。

    相关关键词:PHP   计数器   访问计数  

    本文链接:http://www.icoa.cn/a/377.html

    上一篇文章介绍了用ASP语言通过FSO制作最简单的网页计数器,不需要数据库,仅仅用文本文档就可以实现。同样PHP也可以不用数据库,利用文本文档来实现网页访问计数功能。

    通过对比PHP和ASP,我们会发现,其实两者是有共通之处的,也就是说你精通任何一门语言再学另一门的话,就会轻车熟路、水到渠成。比如ASP文档中是用<%%>来代表ASP代码,PHP里是用<?php ?>来存放PHP代码。

    和ASP一样,我们实现计数的思路也是:通过PHP读取文本文档counter.txt里的数据,并+1保存到文本文档中。

    新建counter.php文档,输入如下代码,跟ASP不同的是PHP里的单行注释是用//或者#,多行注释用/* */来实现:

    <?php
    function get_hit($counter_file)
    //定义函数,内容用{}括起来,学过编程的人应该看出来了,跟C语言有点相似
    {
    $count=0;
    //将计数器归零,Php里的变量前面加上$号
     
    if(file_exists($counter_file))
    //如果计数器文件存在,读取其中的内容
    {
    $fp=fopen($counter_file,"r");
    //r是read的缩写,代表读取的意思,以只读方式打开文件
    $count=0+fgets($fp,20);
    /*读取前20位数赋值给count变量,由于fgets()函数读取的是字符串,所以需要在前面+0来转换为整数,
    这一点跟ASP就不同了,ASP中字符串可以直接跟整型进行运算,而不用转换。*/
    fclose($fp);
    //关闭文件
    }
    $count++;
    //增加计数,这一点跟C就非常相似了
    $fp=fopen($counter_file,"w");
    //w是write的缩写,代表写入的意思,以写入的方式打开文件
    fputs($fp,$count);
    //输出计数值到文件
    fclose($fp);
    return($count);
    //返回计数值
    }
    ?>
     
    <?php
    $hit=get_hit("counter.txt");
    //调用刚才定义的函数处理counter.txt文档,并把结果赋值给hit变量。
    echo "您是第<b>"."$hit"."</b>位访客!";
    //输出结果。PHP与ASP的区别在于:ASP的连字符是“&”,而Php的连字符是“.”。
    ?>


    测试地址:http://www.icoa.cn/demo/php/counter.php

    同样在需要调用的PHP文档中插入这个文件:

    <?php include("counter.php");?>


    需要注意的是,PHP每句程序结束都有一个“;”,这个对于熟悉ASP的人来说容易忽略而造成程序错误。

    同样php也可以通过script脚本的方式来在html文档中调用这个计数器,需要将counter.php后面调用函数的代码修改一下:

    <?php
    $hit=get_hit("counter.txt");
    echo "document.write (\"<center>您是第<b>"."$hit"."</b>位访客!</center>\");";
    ?>


    然后在需要使用网页中插入如下代码:

    <script src="counter.php" type="text/javascript"></script>
    本文链接:http://www.icoa.cn/a/377.html
    关键词: PHP   计数器   访问计数  

    如果您愿意支持,欢迎请扫码打赏哦~


    上一篇:#2002 – 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置)


    - 相关文章 -


    几个简单的基本的sql语句并详解 - 2010-11-12

    PHP中如何去掉字符串首尾空格 - 2013-12-12

    php使用strlen()判断字符串长度 - 2013-12-12

    MySQL命令行导入导出数据库 - 2013-10-20

    mysql新建用户与远程访问 zt - 2010-10-18

    PHP用substr函数截取字符串中的某部分 - 2012-12-27

    #2002 – 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正 - 2010-10-15

    用PHP读写文本文档制作最简单的访问计数器 - 2010-10-13


    - 文章评论 -




    7844

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[6条评论] -


    123<2015-12-24 11:00:25>评论说:

    创建两个php动态网页,分别用于模拟网站登录页和首页,要求提交登录信息时通过会话变量把用户名传到首页,并在首页对该用户信息表示欢迎。

    管理员回复: 这个很容易实现,就是一个表单提交的功能。登录页不一定是动态页面,普通html就可以,首页需要是PHP页面。


    sasa<2014-09-29 09:44:05>评论说:

    请问两个用户同时读取计数值count,再各自+1后fwrite到txt的话,总数岂不是只+1而实际应该+2? 怎么实现互斥呢?

    管理员回复: 这个是最简单的代码,如果访问量非常大,用这个是不行的


    开心果啤<2014-07-01 14:58:06>评论说:

    我运行为什么每次加2呢?

    管理员回复: 刷新了两次吗?


    Kayan<2014-06-23 15:29:37>评论说:

    很好很清晰


    QQ:2856954449<2013-02-18 17:58:34>评论说:

    我想请教一下您!

    管理员回复: 想请教什么东西,直接留言即可

    [>>>点击查看更多评论]

    逍遥峡谷 逍遥乱弹 张立博 爱之路 酷品优选 宝贝派

    版权所有©逍遥峡谷 - 智能中央超自然局·地球总部
    Copyright©Intelligence Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合
    冀ICP备06033848号