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

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

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

美国云服务器 1核 1G 30M 50元/季 兆赫云

【双十二】兆赫云:全场vps季付六折优惠,低至50元/季,1H/1G/30M/20G数据盘/500G流量/洛杉矶联通9929商家简介:兆赫云是一家国人商家,成立2020年,主要业务是美西洛杉矶联通9929线路VPS,提供虚拟主机、VPS和独立服务器。VPS采用KVM虚拟架构,线路优质,延迟低,稳定性强。是不是觉得黑五折扣力度不够大?还在犹豫徘徊中?这次为了提前庆祝双十二,特价推出全场季付六折优惠。...

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

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

ShockHosting日本机房VPS测试点评

这个月11号ShockHosting发了个新上日本东京机房的邮件,并且表示其他机房可以申请转移到日本,刚好赵容手里有个美国的也没数据就发工单申请新开了一个,这里做个简单的测试,方便大家参考。ShockHosting成立于2013年,目前提供的VPS主机可以选择11个数据中心,包括美国洛杉矶、芝加哥、达拉斯、杰克逊维尔、新泽西、澳大利亚、新加坡、日本、荷兰和英国等。官方网站:https://shoc...

网页计数器为你推荐
现有新的ios更新可用请从ios14be苹果xr可不可以更新ios14internalservererrorError 500--Internal Server Error登陆建行个人网银,WIN7 64位IE10版本!phpadmin下载phpmyadmin怎么安装啊?可以直接下载安装吗?还需要下载其他数据库吗?德国iphone禁售令德国IPHONE多少钱?急~人人视频总部基地落户重庆重庆影视公司怎么选择?人人视频总部基地落户重庆迁户口入重庆支付宝账户是什么什么是企业支付宝账户ipad代理想买个ipad买几代性价比比较高面板flash解析cuteftp
免费试用vps google电话 cdn服务器 国外私服 12306抢票攻略 淘宝双十一2018 国外网站代理服务器 卡巴斯基永久免费版 免费mysql 谁的qq空间最好看 metalink shuang12 卡巴斯基试用版下载 中国域名根服务器 cdn免备案空间 ddos攻击教程 次时代主机 qq空间打开慢 我的世界免费服务器 运维堡垒主机 更多