访客网页计数器的原理

网页计数器  时间:2021-03-20  阅读:()

访客计数器是让Web访客知道该网页或者网站的人气指数最直接的方法。尤其是想利用网页赚钱的人访客人数是找广告商最好的说词。当然可以将网站来访人数写成统计报表但总是感觉直接看到比较真实到底眼见为凭。

在上图中访客计数器的流程如下

1. .第一位使用者浏览某页。

2. .伺服器程式从资料库或档案中读取该页被浏览次数。

3. .将次数加一储存并将它送回第一位使用者。

4. .第二位使用者浏览某页。

5. .伺服器程式从资料库或档案中读取该页被浏览次数。

6. .将次数再加一储存并将它送回第二位使用者。

P HP在没有特殊的访客计数器函式但是我们可以用P HP的强大功能自已写一个访客计数器函式。

以下的函式是访客计数器的原型是由David W.Bettis所提供并经过作者少许修改。

/*simple access counter for php3

(c)1998 David W.Bettisdbettis@eye inte grated.c ommedify by Wilson Peng

*/

$counter F ile="/tmp/c o unter.txt";func tion d i splayCounter($c ounte rF ile) {

$fp=fop e n($co unterF ile,"rw");

$num=fg et s($fp,5);

$num+=1;p r int "您是第"."$num"."位无聊份子";exec( "rm-rf$co unterFile");exec( "ec ho$num>$count e rF ile");

}if(!file_e xists($co unte rFile)) {exec( "echo 0>$counterF ile");

}disp layC o unte r($counterF ile);

?>

Copyright? 1998 David W.Bettis

在读取到本页时 PHP程式先找寻/tmp/c ounte r.txt档案是否存在若不存在则建立一个counte r.txt档案然后将0写入档案。然后读取count er.txt档案的内容也就是纯文字档再将内文的数字存入$num变数中。在$num的变数出现在浏览器前还有经过加一的动作让使用者可以增加。当然如果想灌水就在加一动作时加二或者加三不过自欺是无用的。最后将访客人数再回存/tmp/count er.txt就一切OK。

当然每一页都要这样写 岂不麻烦到了极点。这时我们可以利用P HP提供的re qu ire()功能将计数器整理成一个函式酱子在使用上就方便多多了。

首先要先将Apache的设定档(httpd.conf)加入PHP include档案的路径。例如要设所有的include档都在http://abcdefghijk.com.tw/include中可以在httpd.conf加入下面的例子php3_include_path. : ./inc lude: . ./include

别忘了重新启动Apache伺服器新增的inc lude路径才有效。

./apachectl restart

再来就在伺服器的. . ./include目录中放入以下的档案档名存成c o unter.in c

下面就是MyC ount e r()函式。为了让读者方便了解程式中的变数

$counterF ile、 $fp及$num保持和David W.Bettis所设定的计数器中的变数功能相同。file&://---------------------------

//访客计数器函式MyC ount er()

//Author:Wilson P eng

//Co pyright(C) 1999file&://---------------------------func tio n MyC ounter() {

$counterF ile="/tmp".$GLO B ALS["PHP_S ELF"];if(!file_e xists($counterF ile)) {if(!file_e xists(dirname($c ounte rF ile))) {mkd ir(d irna me($counterF ile),0700);

}

exe c("echo 0>$counterF ile");

}

$fp=fo pen($counterF ile,"rw");

$num=fge ts($fp,5);

$num+=1;p r int "$num";echo$counterF ile;exec("rm-rf$co unterFile");exec("echo$num>$counterFile");

}

?>

Copyright? 1999,Wils on Peng

当然要用的话要加Ho mep age中嵌入MyCounter()函式就可以使用了。re quir e("c o unter.inc");

?>

您是第位参观者

Copyright? 1999,Wilson Peng

要用这个MyC o unter()函式先在Ho mep age的开头处加入require()函式 引入MyC o unter()函式成为该Ho mep age的一部份。之后再将字串放在需要计数器的地方就可以了。func tio n MyC ounter() {

:

:

}

在建立函式时需要用上面的格式。在自订函式名称前加入functio n字串。每页有用到MyC ount er()的Ho mepage都会在/tmp之后加入该页的路径这可以用$P HP_S E LF变数达成。

$counte rFile="/tmp".$GLO BAL S["P HP_S ELF"];

当然若您要将/tmp改成别的目录也可以不然在SUN等伺服器要是reboot/tmp中的东西都没了要重新开始再计数了。若您不知要使用什么目录建议使用/va r/lo g/counter这个目录和其它的log等变动资料放在一起。if(!file_exis ts($c ounterF ile)) {if(!file_exis ts(d irname($counterF ile))) {mkdir(dirname($counterF ile),0700);

}exec("echo 0>$counterF ile");

}

这五行主要是检查$counterF ile是否存在若档案不存在则看目录是否存在决定要不要建立目录。之后就建立档案并写入0。

$fp=fop e n($co unterF ile,"rw");

$num=fg et s($fp,5);

$num+=1;p r int "$num";echo$counterF ile;

这五行就是打开计数器存放的档案并将它累加后的结果送到浏览器端。exec("rm-rf$counterF ile");exec("e cho$num>$counterF ile");

最后将计数器档案删除再重新建立一个

欧路云(22元/月),美国CERA弹性云服务器!香港弹性云服务器15元/月起;加拿大高防vps仅23元/月起

欧路云怎么样?欧路云主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。2021年7月14日美国 CERA 弹性云服务器 上新 联通CUVIP 线路!8折特惠中!点击进入:欧路云官方网站地址付款方式:PayPa...

无忧云(25元/月),国内BGP高防云服务器 2核2G5M

无忧云官网无忧云怎么样 无忧云服务器好不好 无忧云值不值得购买 无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免北岸建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高...

2021HawkHost老鹰主机黑色星期五虚拟主机低至3.5折 永久4.5折

老鹰主机HawkHost是个人比较喜欢的海外主机商,如果没有记错的话,大约2012年左右的时候算是比较早提供支付宝付款的主机商。当然这个主机商成立时间更早一些的,由于早期提供支付宝付款后,所以受众用户比较青睐,要知道我们早期购买海外主机是比较麻烦的,信用卡和PAYPAL还没有普及,大家可能只有银联和支付宝,很多人选择海外主机还需要代购。虽然如今很多人建站少了,而且大部分人都用云服务器。但是老鹰主机...

网页计数器为你推荐
"参与方式一:线上招聘(简历投递)"Servicemy小企业如何做品牌中小企业如何树立品牌形象,提高知名度?企业cms目前最好用的企业cms是哪个?wordpress模板wordpress 模板和wordpress主题有什么不同重庆400年老树穿楼生长重庆轻轨穿过居民楼在哪里,从解放碑怎么去flashfxp下载我想下载一个FlashFXP 4.0.0 Build 1510 简体中文版的软件,可是不知道下载地址,希望大家帮帮我?Usercuteftp大飞资讯单仁资讯的黄功夫是何许人?传奇域名谁有霸气一点的传奇名字。给个
虚拟空间租用 宿迁服务器租用 合租服务器 免费域名申请 westhost 免费主机 美国主机代购 丹弗 登陆空间 智能dns解析 万网主机 双十二促销 googlevoice 512内存 塔式服务器 免费网站加速 winserver2008下载 远程主机强迫关闭了一个现有的连接 最年轻博士 如何架设服务器 更多