最简单的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 相关文章推荐
Windows下的PHP5.0详解
Nov 18 PHP
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
PHP+FastCGI+Nginx配置PHP运行环境
Aug 07 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
laravel清除视图缓存的代码
Oct 23 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
跟老齐学Python之print详解
2014/09/28 Python
python求pi的方法
2014/10/08 Python
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
Python实现控制台输入密码的方法
2015/05/29 Python
python基础教程之Filter使用方法
2017/01/17 Python
python 全文检索引擎详解
2017/04/25 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python实现kmp算法的实例代码
2019/04/03 Python
django query模块
2019/04/20 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
华为C++笔试题
2014/08/05 面试题
安全生产检讨书
2014/01/21 职场文书
爱耳日活动总结
2014/04/30 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
2015年护士节活动总结
2015/02/10 职场文书
高中化学教学反思
2016/02/22 职场文书
导游词之襄阳古城
2019/09/27 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL
win10搭建配置ftp服务器的方法
2022/08/05 Servers
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers