最简单的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源码之 ext/mysql扩展部分
Jul 17 PHP
php 强制下载文件实现代码
Oct 28 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
C# WinForm中实现快捷键自定义设置实例
Jan 23 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 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执行速度全攻略(下)
2006/10/09 PHP
用Socket发送电子邮件
2006/10/09 PHP
php eval函数用法总结
2012/10/31 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
php的curl封装类用法实例
2014/11/07 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
document.createElement()用法
2013/03/13 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
原生JS实现留言板
2020/03/26 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
python基于右递归解决八皇后问题的方法
2015/05/25 Python
python实现图片彩色转化为素描
2019/01/15 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
C面试题
2015/10/08 面试题
开放系统互连参考模型
2016/06/29 面试题
机械工程系毕业生求职信
2013/09/27 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
团代会闭幕词
2015/01/28 职场文书
个人总结格式范文
2015/03/09 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书