来源:自学PHP网 时间:2014-12-25 09:57 作者: 阅读:次
[导读] 最简单的PHP程序--记数器,原理:nbsp;nbsp;1.第一位使用者浏览某页。2.伺服器程式从资料库或档案中读取该页被浏览次数。3.将次数加一储存,并将它送回第一位使用者。4.第二位使用者浏...
原理:
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程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com