访客[分享]网页计数器的原理

网页计数器  时间: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@eyeintegrated. commedify by Wilson Peng

*/

$counterFi le = "/tmp/counter.txt";function displayCounter($counterFile) {

$fp = fopen($counterFi le, "rw") ;

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

$num += 1;print "您是第". "$num". "位无聊份子";exec( "rm -rf $counterFile") ;exec( "echo $num > $counterFile") ;

}if ( !file_exists($counterFile)) {exec( "echo 0 > $counterFile") ;

}displayCounter($counterFile) ;

?>

Copyright ? 1998 David W. Bettis

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

就一切OK。

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

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

别忘了重新启动Apache伺服器新增的include路径才有效。./apachectl restart

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

下面就是MyCounter() 函式。为了让读者方便了解程式中的变数$counterFile、 $fp及$num保持和David W. Bettis所设定的计数器中的变数功能相同。file &://---------------------------

//访客计数器函式MyCounter()

// Author: Wilson Peng

// Copyright (C) 1999file &://---------------------------function MyCounter() {

$counterFi l e="/tmp". $GLOBALS["PHP_SELF"] ;if ( !file_exists($counterFile)) {if ( !file_exists(dirname($counterFile)) ) {mkdir(dirname($counterFi l e) , 0700) ;

}exec("echo 0 > $counterFile") ;

}

$fp = fopen($counterFi le, "rw") ;

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

$num += 1;print "$num";echo $counterFile;exec("rm -rf $counterFile") ;exec("echo $num > $counterFi le") ;

}

?>

Copyright ? 1999, Wilson Peng

当然要用的话要加Homepage中嵌入MyCounter() 函式就可以使用了。require("counter. inc") ;

?>

您是第位参观者

Copyright ? 1999, Wilson Peng

要用这个MyCounter() 函式先在Homepage的开头处加入require() 函式 引入MyCounter() 函式成为该Homepage的一部份。之后再将字串放在需要计数器的地方就可以了。function MyCounter() {

:

:

}

在建立函式时需要用上面的格式。在自订函式名称前加入funct i on字串。

每页有用到MyCounter() 的Homepage都会在/tmp之后加入该页的路径这可以用$PHP_SELF变数达成。

$counterFi le="/tmp". $GLOBALS["PHP_SELF"] ;

当然若您要将/t mp改成别的目录也可以不然在S U N等伺服器要是reboot /tmp中的东西都没了要重新开始再计数了。若您不知要使用什么目录建议使用/var/log/counter这个目录和其它

的log等变动资料放在一起。if ( !file_exists($counterFile)) {if ( !file_exists(dirname($counterFile)) ) {mkdir(dirname($counterFi l e) , 0700) ;

}exec("echo 0 > $counterFile") ;

}

这五行主要是检查$counterFile是否存在若档案不存在则看目录是否存在决定要不要建立目录。之后就建立档案并写入0。$fp = fopen($counterFi le, "rw") ;

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

$num += 1;print "$num";echo $counterFile;

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

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

GigsGigsCloud:$16/月KVM-1GB/30GB/1TB/1.6T高防/洛杉矶CN2 GIA+AS9929

GigsGigsCloud是一家成立于2015年老牌国外主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,绝大部分系列产品中国访问速度不错,比如洛杉矶机房有CN2 GIA、AS9929及高防线路等。目前Los Angeles - SimpleCloud with Premium China DDOS Protectio...

WHloud Date鲸云数据($9.00/月), 韩国,日本,香港

WHloud Date(鲸云数据),原做大数据和软件开发的团队,现在转变成云计算服务,面对海内外用户提供中国大陆,韩国,日本,香港等多个地方节点服务。24*7小时的在线支持,较为全面的虚拟化构架以及全方面的技术支持!官方网站:https://www.whloud.com/WHloud Date 韩国BGP云主机少量补货随时可以开通,随时可以用,两小时内提交退款,可在工作日期间全额原路返回!支持pa...

香港 E5-2650 16G 10M 900元首月 美国 E5-2660 V2 16G 100M 688元/月 华纳云

华纳云双11钜惠出海:CN2海外物理服务器终身价688元/月,香港/美国机房,免费送20G DDos防御,50M CN2或100M国际带宽可选,(文内附带测评)华纳云作为一家专业的全球数据中心基础服务提供商,总部在香港,拥有香港政府颁发的商业登记证明,APNIC 和 ARIN 会员单位。主营香港服务器、美国服务器、香港/美国OpenStack云服务器、香港高防物理服务器、美国高防服务器、香港高防I...

网页计数器为你推荐
企业建网站一般中小型企业建立网站需要多少费用?多大的空间?sqlserver数据库sql server数据库是什么 型数据库申请支付宝账户怎样申请支付宝账户?要填写什么信息?的是cuteftpyixingjia通配符的使用方法大飞资讯手机出现热点资讯怎么关闭厦门三五互联科技股份有限公司厦门三五互联怎么样?可信网站可信网站认证一定要办吗佛山海虹广东海虹药通电子商务有限公司怎么样?站点管理站点名称是什么意思
香港vps 如何申请免费域名 sharktech 重庆服务器托管 息壤主机 轻博客 淘宝双十一2018 最好看的qq空间 嘟牛 52测评网 新家坡 世界测速 爱奇艺vip免费试用7天 流媒体加速 美国盐湖城 群英网络 香港ip 发证机构 卡巴斯基免费版下载 俄勒冈州 更多