A-A+

一个PHP访问图片计数器

2013年10月25日 PHP源码分享 评论 23 条 阅读 1,077 views 次

为了直观显示一个网站有多少用户浏览,需要在网页底部放一个图片计数器来记录,也就是当前页面的访问量,这里的访问量是实际的浏览量,也就是每一个用户登陆网页只记录一次,然后将其相加到记录器当中。

因为只要记录了访问的人次就可以得到实际了访问量,所以这里的访问量是保存在 txt 文件里的,比如我们新建一个 conunt.txt 文件,放在根目录,录入数字 89655,这个数字是自定义的,新站嘛,总不希望从0开始。

记录访问量的 conunt.txt 已经建立好了,那么我们要做的就是每进来一个访客,初始化数字就要 +1,而且一个 IP 只累积加一次,等再刷新时无效,这样就保证了数据的有效性。

效果图如下:

首先新建一个 index.php 文件,录入以下代码:

<?php
session_start();  //首先 session_start(); 是为了使用 session 函数来判断
已访问的用户
$f_open=fopen('count.txt','r+'); //使用 fopen 以可写的方式打开 count.t
xt 文件
$count=fgets($f_open); //fgets函数用来从文件中读入字符串
if($_SESSION&#91;count&#93;==''){
	$count++;
	rewind($f_open);
	fwrite($f_open,$count);
	fclose($f_open);
	$_SESSION&#91;count&#93;=1;
} //如果 $_SESSION&#91;count&#93;=='' 值为空的话,赋值变量 $count 值加1,然后写
入到 count.txt 中。否则的话,$count 变量值不变。
?>

上面的代码已经实现了访问量的增加,那么下面就要将count.txt中的数字
以图片的形式读出来了。

<?php
    $f_open=fopen('count.txt','r+');  //首先打开 count.txt 文件
	$count=fgets($f_open); //读取打开的文件
	settype($count,"string"); //设置变量类型
	$len=strlen($count); //返回字符串的长度
    $str=str_repeat("0",6-$len); //字符串重复指定的次数
    echo "当前的访问量为:";
    for($i=0;$i<=strlen($str);$i++){
		echo '<img src=images/0.gif>';
    } //循环读取某个字串
    for($j=0;$j<$len;$j++){
      switch ($count&#91;$j&#93;){
      	    case "0"; $img&#91;$j&#93;="0.gif";break;
	case "1"; $img&#91;$j&#93;="1.gif";break;
	case "2"; $img&#91;$j&#93;="2.gif";break;
	case "3"; $img&#91;$j&#93;="3.gif";break;
	case "4"; $img&#91;$j&#93;="4.gif";break;
	case "5"; $img&#91;$j&#93;="5.gif";break;
	case "6"; $img&#91;$j&#93;="6.gif";break;
	case "7"; $img&#91;$j&#93;="7.gif";break;
	case "8"; $img&#91;$j&#93;="8.gif";break;
	case "9"; $img&#91;$j&#93;="9.gif";break;
	}
	echo "<img src=images/".$img&#91;$j&#93;.".>"; //循环读取并将其以图
片格式的方式显示出来。
   }

?>

至此,一个简单的php访问图片计数器就做出来了,图片的文件保存在 images/ 目录下,可以换成我们自己做的精美的图片,更换即可,将本段代码直接放到网页的页脚处即可。

一个PHP访问图片计数器源码下载。

标签:

23 条留言  访客:23 条  博主:0 条

  1. 阿耀

    请教博主一个问题,我有一段给博主类似的代码,但是计数器不会自加1,每次都是原始访问数,我把代码放上来,可否指教一下?
    ?php
    $counterFile = “counter.txt”;
    function displayCounter($counterFile) {
    $fp = fopen($counterFile,”rw”);
    $num = fgets($fp,5);
    $num += 1;
    print “您是第 “.”$num”.” 位访客”;
    exec( “rm -rf $counterFile”);
    exec( “echo $num > $counterFile”);
    }
    if (!file_exists($counterFile)) {
    exec( “echo 0 > $counterFile”);
    }
    displayCounter($counterFile);
    ?>

  2. bing

    Notice: Use of undefined constant count – assumed ‘count’ in D:\phpStudy\WWW\web\index.php on line 14
    为什么会出现这样的提示??

  3. zjs辉

    不错哈

  4. bing

    前台模板要怎么调用呀

  5. PHP二次开发

    挺实用哦。

  6. 好运品牌鞋

    现在不大想放访问量统计,如果太少多没面子啊。嘿嘿。

  7. 糊涂虫

    比较直观,直接复制就能用了。

  8. 恋羽

    好多新鲜东西

  9. 社新社

    这个是很有用的!

  10. 海棠秋客

    支持!另外恭喜博主在海棠秋客英雄榜升级为“以一敌十”,请悉知!

  11. 沃默博客

    好看,不错。

  12. 爱浮夸

    不错的东西,呵呵。

  13. 李明

    我会把conunt.txt 文件始次数字设为855454545222,新站嘛,总不希望从沒的人气的,哈哈!

    • smiling

      都上千亿了,比百度还厉害。

  14. 21氪

    这个统计比较实用

  15. 宿迁波仔博客

    博主是做什么职业的?对PHP语言很熟悉啊

    • smiling

      全职php程序员。

  16. 锋子

    这个有用,收藏了……

  17. 妮称

    要在根目录下新建txt吗.

    • smiling

      要在根目录下新建 txt 保存数据的。

  18. 不高也不帅

    很详细的图片记数器源码,新手谢了.

  19. 爱情点荖嘙

    谢谢老大了,已经用到页面上了。

  20. 麦田一根葱

    soga,原来如此

给我留言