最简单的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 相关文章推荐
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
Oct 09 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
php使用反射插入对象示例分享
Mar 11 PHP
递归实现php数组转xml的代码分享
May 14 PHP
非常经典的PHP文件上传类分享
May 15 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
PHP编写简单的App接口
Aug 28 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
php封装的验证码类分享
Feb 26 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 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
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
PHP7修改的函数
2021/03/09 PHP
xmlHTTP实例
2006/10/24 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python 专题四 文件基础知识
2017/03/20 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
详解python分布式进程
2018/10/08 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python gdal安装与简单使用
2019/08/01 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
python实现mean-shift聚类算法
2020/06/10 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
党员党性分析材料
2014/02/17 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
员工工作自我评价
2014/09/26 职场文书