最简单的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 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
一个php作的文本留言本的例子(二)
Oct 09 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
PHP内核探索:哈希表碰撞攻击原理
Jul 31 PHP
详解js异步文件加载器
Jan 24 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
php格式文件打开的四种方法
Feb 24 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 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
Windows下安装Memcached的步骤说明
2010/04/25 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
Vue 过滤器filters及基本用法
2017/12/26 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
python中的tcp示例详解
2018/12/09 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
《二泉映月》教学反思
2014/04/15 职场文书
文体活动总结范文
2014/05/05 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
亲戚关系证明
2015/06/24 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android