最简单的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获取网卡地址的代码
Apr 09 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
PHP环境搭建(php+Apache+mysql)
Nov 14 PHP
基于swoole实现多人聊天室
Jun 14 PHP
Swoole实现异步投递task任务案例详解
Apr 02 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
laravel 执行迁移回滚示例
Oct 23 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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/10/08 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
Python入门及进阶笔记 Python 内置函数小结
2014/08/09 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
浅述python中深浅拷贝原理
2018/09/18 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
Python matplotlib实时画图案例
2020/04/23 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Python实现简单猜数字游戏
2021/02/03 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
实习生单位鉴定意见
2013/12/04 职场文书
主办会计岗位职责
2014/03/13 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
商务考察邀请函模板
2015/02/02 职场文书
信仰纪录片观后感
2015/06/08 职场文书
Python并发编程实例教程之线程的玩法
2021/06/20 Python
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android