最简单的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中simplexml_load_string函数使用说明
Jan 01 PHP
PHP中的正则表达式函数介绍
Feb 27 PHP
深入PHP运行环境配置的详解
Jun 04 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
如何用php获取程序执行的时间
Jun 09 PHP
PHP is_subclass_of函数的一个BUG和解决方法
Jun 01 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
php验证码实现代码(3种)
Sep 07 PHP
PHP快速生成各种信息提示框的方法
Feb 03 PHP
php字符串操作常见问题小结
Oct 11 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 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代码优化及php相关问题总结
2006/10/09 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
layui实现三级联动效果
2019/07/26 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
vue+Element中table表格实现可编辑(select下拉框)
2020/05/21 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
python 读写中文json的实例详解
2017/10/29 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
在Python中表示一个对象的方法
2019/06/25 Python
python实现简易学生信息管理系统
2020/04/05 Python
利用python实现逐步回归
2020/02/24 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
单位单身证明范本
2014/01/11 职场文书
文秘求职信范文
2014/04/10 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
MySQL分区表实现按月份归类
2021/11/01 MySQL