最简单的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 相关文章推荐
GD输出汉字的函数的分析
Oct 09 PHP
php的控制语句
Oct 09 PHP
PHP5 面向对象程序设计
Feb 13 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
php自动加载的两种实现方法
Jun 21 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
wordpress安装过程中遇到中文乱码的处理方法
Apr 21 PHP
php正则替换处理HTML页面的方法
Jun 17 PHP
使用纯php代码实现页面伪静态的方法
Jul 25 PHP
PHP发送短信代码分享
Aug 11 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
php csv操作类代码
2009/12/14 PHP
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
[22:07]DOTA2-DPC中国联赛 正赛 iG vs Magma 选手采访
2021/03/11 DOTA
如何运行Python程序的方法
2013/04/21 Python
python字典get()方法用法分析
2015/04/17 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
python 中的int()函数怎么用
2017/10/17 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
详解python with 上下文管理器
2020/09/02 Python
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
失业者真诚求职信范文
2013/12/25 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
民事授权委托书范文
2014/08/02 职场文书
药店促销活动策划方案
2014/08/24 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书