最简单的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 相关文章推荐
FCKeditor添加自定义按钮
Mar 27 PHP
php中大括号作用介绍
Mar 22 PHP
php中的常用魔术方法总结
Aug 02 PHP
利用php下载xls文件(自己动手写的)
Apr 18 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
学习php设计模式 php实现模板方法模式
Dec 08 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 PHP
Laravel框架查询构造器简单示例
May 08 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实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
python文件操作之目录遍历实例分析
2015/05/20 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Python中防止sql注入的方法详解
2017/02/25 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
opencv python图像梯度实例详解
2020/02/04 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
大学生毕业自我评价范文分享
2013/11/07 职场文书
机械绘图员岗位职责
2013/11/19 职场文书
英语老师推荐信
2014/02/26 职场文书
制作部班长职位说明书
2014/02/26 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
浅谈MySQL函数
2021/10/05 MySQL
JavaScript流程控制(分支)
2021/12/06 Javascript