最简单的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项目打包方法
Feb 18 PHP
php 文件上传系统手记
Oct 26 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
Dec 09 PHP
php递归删除目录与文件的方法
Jan 30 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
Symfony2学习笔记之模板用法详解
Mar 17 PHP
基于PHPexecl类生成复杂的报表表头示例
Oct 14 PHP
php获取当前url地址的方法小结
Jan 10 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
Mar 04 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&amp;mysql(三)
2006/10/09 PHP
傻瓜化配置PHP环境――Appserv
2006/12/13 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
js 省地市级联选择
2010/02/07 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
python实现DES加密解密方法实例详解
2015/06/30 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python实现排序算法解析
2018/09/08 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
理工大学毕业生自荐信范文
2014/02/22 职场文书
出纳工作检讨书
2014/10/18 职场文书
终止劳动合同通知书
2015/04/16 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫