最简单的PHP程序--记数器


Posted in PHP onOctober 09, 2006

原理:  
1.第一位使用者浏览某页。
2.伺服器程式从资料库或档案中读取该页被浏览次数。
3.将次数加一储存,并将它送回第一位使用者。
4.第二位使用者浏览某页。
5.伺服器程式从资料库或档案中读取该页被浏览次数。
6.将次数再加一储存,并将它送回第二位使用者。   
需要了解的函数:  
fopen()打开文件
filesize()获得文件大小
fseek()移动文件指针
fgets()得到文件指针所在行内容
fputs()将字串写如文件指针所在位置
fclose()关闭文件
file_exists()判断文件是否存在
exec()执行外部程序  

最简单的记数器:  
<html>  
<head>  
<title>访客计数器 原型</title>  
</head>  
<body>  
<?php  
/*  
(c)1998 David W. Bettis  
这里是版权信息  
*/  

$counterFile = "counter.txt";  
#这里是定义记数器文件

function displayCounter($counterFile) {  
$fp = fopen($counterFile,"rw");
#打开文件,用读写方式

$num = fgets($fp,5);
#取得当前数字

$num += 1;
#加1

print "您是第 "."$num"." 位无聊份子";  
exec( "rm -rf $counterFile");  
exec( "echo $num > $counterFile");  
#偷懒的方式哦,不使用fputs写入  
}  

if (!file_exists($counterFile)) {  
exec( "echo 0 > $counterFile");  
}#如果记数器文件不存在,新建它并设置内容为0

displayCounter($counterFile);  

?>  
</body>  
</html>   
PHP记数器比较简单版:  
<?
#版权没有啦,这么简单  

$fp=fopen("counter.txt","r+");
flock($fp,3);  
#打开记数器文件并锁住

$fsize=filesize("count.txt");
$count=fgets($fp,$fsize+1);
$count++;  
#取得数码并加一

fseek($fp,0);
fputs($fp,$count);
fclose($fp);
#将新数码写入文件

echo "你是第 $count 位访问者";
?>  

PHP记数器图形版:  
制作10个图片,将数字串用图片组起来,我就不细说了
假设图片为0.gif ~ 9.gif

<?
....$count为取得的数值
$strcount=strval($count);
$strcount=chop($strcount);
$countlen=$strlen($strcount);
$shtml="";
for ($i=0; $i<$countlen; $i++) {
$shtml.="<img src='";
$shtml.=$strcount[$i];
$shtml.=".gif'>";
}
echo $shtml;
?>  

PHP记数器数据库版:  
使用SQL记数器,先建好表
CREATE TABLE counter
(
counter int not null,
id ?????int not null
)
INSERT INTO counter(counter,id) VALUE(0,1)

<?
$conn=mysql_connect(..., ..., ...);
#MySQL数据库连接

$sql="select * from counter";
$result=mysql_query($sql,$conn);
$objresult=mysql_fetch_object($result);
$count=$objresult->counter;
$count++;  

$sql="update counter set counter=".$count."where id=1";
mysql_query($sql,$conn);
mysql_close($conn);

echo "你是第$count位访客";
?> 

PHP 相关文章推荐
基于mysql的论坛(6)
Oct 09 PHP
php 在文件指定行插入数据的代码
May 08 PHP
解析php获取字符串的编码格式的方法(函数)
Jun 21 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
php和jquery实现地图区域数据统计展示数据示例
Feb 12 PHP
php多文件上传下载示例分享
Feb 20 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
详解php中的implements 使用
Jun 13 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
PHP code 验证码生成类定义和简单使用示例
May 27 PHP
用PHP产生动态的影像图
Oct 09 #PHP
在Windows版的PHP中使用ADO
Oct 09 #PHP
PHP4与PHP3中一个不兼容问题的解决方法
Oct 09 #PHP
PHP 高手之路(一)
Oct 09 #PHP
PHP 高手之路(二)
Oct 09 #PHP
PHP 高手之路(三)
Oct 09 #PHP
php&amp;java(二)
Oct 09 #PHP
You might like
笑谈配置,使用Smarty技术
2007/01/04 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python常用小技巧总结
2015/06/01 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
高中生学习总结的自我评价范文
2013/10/13 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
七年级数学教学反思
2016/02/17 职场文书
七年级作文之下雨天
2019/12/23 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript