最简单的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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
Yii框架表单模型和验证用法
May 20 PHP
php组合排序简单实现方法
Oct 15 PHP
php cli模式下获取参数的方法
May 05 PHP
PHP实现的观察者模式实例
Jun 21 PHP
PHP中PDO事务处理操作示例
May 02 PHP
PHP APP微信提现接口代码
Sep 30 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 PHP
Yii框架页面渲染操作实例详解
Jul 19 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
一个基于PDO的数据库操作类
2011/03/24 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
JS实现容器模块左右拖动效果
2020/01/14 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
5款非常棒的Python工具
2018/01/05 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
一套软件测试笔试题
2014/07/25 面试题
大学生的四年学习自我评价
2013/12/13 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014年秘书工作总结
2014/11/25 职场文书
2015年教师学期工作总结
2015/04/30 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
暑期工社会实践报告
2015/07/13 职场文书
父亲节感言
2015/08/03 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
MySQL查询学习之基础查询操作
2021/05/08 MySQL
MySQL约束超详解
2021/09/04 MySQL