最简单的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 相关文章推荐
转换中文日期的PHP程序
Oct 09 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
PHP中if和or运行效率对比
Dec 12 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
joomla组件开发入门教程
May 04 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
php获取微信基础接口凭证Access_token
Aug 23 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 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
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python中Class类用法实例分析
2015/11/12 Python
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
wxpython实现图书管理系统
2018/03/12 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
详解Python传入参数的几种方法
2019/05/16 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
运动会入场词60字
2014/02/15 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
支部书记四风对照材料
2014/08/28 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
海上钢琴师观后感
2015/06/03 职场文书
Django显示可视化图表的实践
2021/05/10 Python
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
分享7个 Python 实战项目练习
2022/03/03 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python