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

    iCoA首席特工 逍遥峡谷 发布:2010-10-13 更新:2010-10-13 浏览8条评论
    内容简介

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

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

    本文链接:https://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>
    本文链接:https://www.icoa.cn/a/377.html
    关键词: PHP   计数器   访问计数  


    如果您愿意支持本站,欢迎点击打赏哦~



    下一篇:初学PHP之根据服务器日期和时间判断网址跳转


    - 相关文章 -


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

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

    WordPress 开启 SSL 成功使用 https:// 访问的方法 - 2023-03-09

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

    PHP 使用 $_GET 提示 Undefined array key 怎么办? - 2022-05-14

    PHP 使用 $_POST 提示 Undefined array key 怎么办? - 2022-01-01

    PHP使用date()函数输出日期时间 - 2012-08-29

    Cannot find or open table x/x from the internal - 2012-08-14


    - 文章评论 -




    4013

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

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


    过路人
    2020-04-27 02:39:22

    刚没注意,你后面没更新了。是被喷了吗?还是有事耽搁了?或者是刚好到今天?希望你一切安好吧!!!

    站长回复: 你指的是PHP相关文章吗?
    我这个是PHP相关文章的第一篇,不是最后一篇,可能你误会了吧。
    过路人
    2020-04-27 02:36:26

    很好,很棒!

    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

    我想请教一下您!

    站长回复: 想请教什么东西,直接留言即可
    jajaaa
    2011-06-22 09:20:40

    very shit

    站长回复: IP:190.192.207.48 阿根廷?丫的看不懂中国话就Get out
    [>>>点击查看更多评论]

    版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 | 逍遥峡谷 · 酷品优选
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合

    冀公网安备13011102001055号 · 冀ICP备06033848号