访客网页计数器的原理

网页计数器  时间: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");

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

RepriseHosting:$27.97/月-L5640,16G内存,1TB硬盘,10TB月流量,西雅图机房

RepriseHosting是成立于2012年的国外主机商,提供独立服务器租用和VPS主机等产品,数据中心在美国西雅图和拉斯维加斯机房。商家提供的独立服务器以较低的价格为主,目前针对西雅图机房部分独立服务器提供的优惠仍然有效,除了价格折扣外,还免费升级内存和带宽,商家支持使用支付宝或者PayPal、信用卡等付款方式。配置一 $27.97/月CPU:Intel Xeon L5640内存:16GB(原...

CloudCone中国新年特别套餐,洛杉矶1G内存VPS年付13.5美元起

CloudCone针对中国农历新年推出了几款特别套餐, 其中2019年前注册的用户可以以13.5美元/年的价格购买一款1G内存特价套餐,以及另外提供了两款不限制注册时间的用户可购买年付套餐。CloudCone是Quadcone旗下成立于2017年的子品牌,提供VPS及独立服务器租用,也是较早提供按小时计费VPS的商家之一,支持使用PayPal或者支付宝等付款方式。下面列出几款特别套餐配置信息。CP...

pacificrack:VPS降价,SSD价格下降

之前几个月由于CHIA挖矿导致全球固态硬盘的价格疯涨,如今硬盘挖矿基本上已死,硬盘的价格基本上恢复到常规价位,所以,pacificrack决定对全系Cloud server进行价格调整,降幅较大,“如果您是老用户,请通过续费管理或升级套餐,获取同步到最新的定价”。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款VPS特征:基于KVM虚拟,纯SSD raid...

网页计数器为你推荐
重庆网络公司一九互联重庆网络公司,重庆网络优化,重庆页面制作性价比高且便宜的网络公司有哪些?conn.asp数据库连接出错,请打开conn.asp文件检查连接字串。flashftp下载rmdown怎么下载flashftp下载《蔓蔓青萝(全)》.TXT_微盘下载文档下载怎样把手机里的文件直接下载或复制到U盘里宜人贷官网宜人贷是不是骗局,借了五万,每月还2030元,还十个月了,想一次性还完,他们说我佛山海虹海虹好吃吗,我从来没吃过美国独立美国独立时不是只有13个洲吗?后来的领土都是怎么得来的。团购程序团购的具体流程是什么?仿佛很简单便捷的样子?powerbydedecms织梦dedecms怎么去掉power by dedecms方法
主机点评 私人服务器 512m 镇江联通宽带 cdn联盟 可外链网盘 国外代理服务器软件 电信主机 新睿云 东莞主机托管 卡巴斯基官网下载 江苏双线 阿里云邮箱怎么注册 数据湾 碳云 apache启动失败 美国服务器 hosts文件 cc加速器 studentmain 更多