版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章网站计数器8.1访问者计数器的工作流程1任务1:访问者计数器的运作过程在首页中加入计数器,有利于演示如何读写文件以及创建自己的函数。在动手设计访问者计数器前,先来了解一下访问者计数器是如何运行的。如图8-1所示。当服务器收到用户端传送来的请求时,访问者计数器模块便将次数一次一次累加下来,这样我们就可以知道网站被要求送出几次内容。当然也就可以借此来计算出网站究竟已经被浏览过几次了。2任务1:访问者计数器的运作过程3任务2:访问者计数器的工作步骤及实现思想详细的步骤描述如下:1.客户访问相应的页面,向服务器发送“连接请求”;2.服务器收到请求后,开始“查找定制文件”;3.“计数器处理组件”代码通过PHP解释器执行,将保存在“记录次数组件”中的次数读取出来,并做加1处理,写回到“记录次数组件”中;4.相关php代码把当前的次数通过PHP解释器4任务2:访问者计数器的工作步骤及实现思想“传递执行结果”,嵌入到网页的HTML代码中,由服务器传送到客户端浏览器。实现的思想是在服务器端,使用一个文件(例如counter.txt)来保存当前的计数,然后服务器被访问一次,就从这个文件中把这个计数提取出来,进行加1处理,再把结果放回到该文件当中。当需要的时候就把该数字调出来,按照要求发送到客户端浏览器。因此,记录次数组件就是counter.txt文本文件。58.2模块结构图与流程图6任务3:画出模块结构图对于任何一个实际的工作情境,我们都可以通过其应有的实际效果,分析该模块的工作流程,同时,得到相应的模块结构图。我们可以依据上述的流程进一步把此功能分为几个子组件,分别为HTML组件、计数器处理组件和记录次数的组件。如图8-2所示。在网上选课系统中,次数的记录将不适用数据库,而是被记录在counter.txt文件中。7任务3:画出模块结构图8任务4:计数器处理组件的流程图
从图8-3清晰地看出服务器端如何利用计数器处理组件进行次数累加的。服务器被访问一次,就从这个文件中把这个计数提取出来,赋值给$counter,然后对$counter进行加1处理,再把结果赋值给变量$counter。$counter的值除了写回到counter.txt文件之外,还一直保存在内存里,可以在HTML组件里面通过PHP语句进行调用,把次数显示给客户端。9任务4:计数器处理组件的流程图
108.3代码组装与分析11任务5:编写计数器组件的代码12第2行用于建立一个与counter.txt文件的链接,并将其设为可读写的状态(覆盖模式,就是在数据写入的时候会将文件内容完全覆盖);第3行是从文件指针目前所指位置取80个字节的数据。若访问者非常多,则可以将此数值加大;第4行是将变量$counter的值加1;第5行将指针指回到文件起始处;第6行的fputs()函数用于将$counter的数值写回到counter.txt文件中;程序代码主要功能介绍13第7行是使用fclose()函数将与文件的连接关闭。PHP语句是类C或类Java,一般来说,一条语句是一行,每一条语句是一个具体的操作,例如赋值,以分号“;”结束。PHP的运算符也和C或者Java一样。需要注意的是在PHP中,变量是以“$”开头的,不需要刻意地提前定义变量。需要用的时候,直接命名使用即可。例如:在计数器处理组件中,为了访问counter.txt文件,使用了PHP的函数fopen()并将函数fopen()返回值赋值给变量$fp。$fp=fopen("counter.txt","r+");14任务6:PHP函数操作15任务7:计数器代码的组装与测试
编辑完counter.php之后,我们可以在一个临时的HTML组件中temp.php查看一下计数器处理组件运行的效果。并通过这个例子,看看如何让选课系统的首页index.php也能正确显示访问者的次数。这是一个典型的“.php”的文件,其中包含了PHP的语句,也包含了HTML语句,其实就是PHP语句嵌入到了HTML语句中。在这种方式下,PHP语句要用“<?php”和“?>”进行标记。16任务7:计数器代码的组装与测试17任务7:计数器代码的组装与测试第2行就是在HTML组件中调用了计数器处理组件,使用的是include()函数。上面代码中还使用了“echo”语句,其功能是把跟着它的表达式的值打印输出。上述的例子就是将$counter的值打印输出在HTML的要显示第几个访问者的语句中。我们前面讲过,计数器处理组件是在服务器被访问时,把counter.txt文件内的值加1再保存回去,同时在内存中存放着当前的$counter的值。在下面的代码中,第49行就使用echo命令把$counter的值输出到HTML组件中,最终被看做HTML文档传送给客户端。在浏览器中浏览,显示效果如图8-4所示。18任务7:计数器代码的组装与测试198.4图形计数器20任务8:图形计数器的实现我们承接上面的文字版计数器的做法,数值一样在counter.txt文件中存取,但是如何让文件中存放的次数值可以用图形来显示呢?要有0~9这10个数字图形的GIF文件,接着我们要解决的就是将数字转换成图片。最简单的方法就是把保存在counter.txt文件中的次数值拆成一个个的数字,例如,将741111拆成7、4、1、1、1、1这6个数字,再分别将这些数字对应到图片7.gif、4.gif、1.gif、1.gif、1.gif、1.gif六个文件。这样显示在网页上的就会使741111的GIF图形版了。图形版的计数器模块结构图如图8-5所示:21任务8:图形计数器的实现下面给出counter.php的代码。请读者根据所给出的index.php进行调试,并应用到动态网站或系统的首页,使其变成图形版的访问次数计数。counter.php的代码如下:22任务8:图形计数器的实现第8行的strlen()函数用来判断一个字符串的长度,用来判断变量$counter是几位数;第9行为转换循环的开始,$n为数值的位数,如741111为6位数,则循环6次;第10行的substr()函数为截取字符串的函数;第11行是以图形替换的方式,将截取出来的每一个数字分别对应到<imgsrc=’images/’>下的数字图形。23任务8:图形计数器的实现24任务8:图形计数器的实现上述代码可以进行进一步的改进,如果网站流量显示的数字都是8位的(如果流量再大,位数可以增多),这样就需要在计数值的前面补若干个0,此时需要修改counter.php文件,其内容如下:25任务8:图形计数器的实现26任务8:图形计数器的实现27实训项目8主题:为留言板进行图形版的访问者计数器的开发、测试与实现。1.参考知识点(1)网站计数器的工作流程;(2)网站计数器的模块结构图与流程图;(3)如何使用PHP进行文件的操作;(4)如何使用PHP对字符串的操作;(5)如何使用HTML进行图片的显示。2.参考技能点(1)理解图形版访问者计数器的工作流程;(2)按照需求分析出访问者计数器的模块结构并绘制出对应的结构图和流程图。28实训项目83.实训训练目的(1)理解访问者计数器的工作流程;(2)分析训练。训练学生如何把实际的需求进行分类,转化成功能模块;(3)知识技能组织训练。训练学生能够运用所学的知识和技能,辨证地选择合适的技术去实现客户的需求。4.实训步骤(1)设计流程图访问者进入网站后,若使用留言功能,系统便会利用PHP来执行留言板模块。而留言板模块会存取数据库中的留言板表。当用户使用留言功能时,由于必须取得用户留言的时间及其IP地址,因此PHP便会通过系统去取得用户的IP及留言的时间。通过这些可能发生的数据流程,便一次设计处一套流程图,如下图所示:2930实训项目8(2)模块结构图留言板元件包含:①列表功能(message_list.php)②发布功能(message_post.php)③回复功能(message_reply.php)④修改功能(message_update.php)⑤删除功能(包含于message_list.php)⑥执行操作处理功能(message_process.php)⑦显示功能(message_show.php)
31HTML元件包含:(请在客户端用浏览器分别浏览这两个文件)①上方功能栏(up.htm)②下方信息页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- SJG 48-2026 道路工程应用建筑废弃物再生产品技术标准
- 2025-2030年太空通信网络行业跨境出海战略分析研究报告
- 企业数据安全应急响应计划协议2025年合规要求
- 2025年郑州市上街区事业单位招聘考试试卷真题
- 寒假周记集合九篇
- 2026船员木匠面试题及答案解析
- 电子商务物流配送优化指导书
- 2026国企开放性面试题及答案
- 2026护士赴港面试题及答案
- 远离心理健康问题守护心灵成长,六年级主题班会课件
- 2026年河北省中考物理试卷(含答案及解析)
- 2026届贵州省遵义市凤冈县四年级数学下学期期末综合测试试题含解析
- 2026广东深圳市公安局第十四批招聘警务辅助人员考试参考题库及答案详解
- 2026天津市面向甘南籍未就业高校毕业生招聘事业单位40人笔试参考题库及答案详解
- 2026年小学心理专题活动设计方案
- 肩袖损伤规范化诊治临床指南 (2026 版)
- GB/T 28799.2-2020冷热水用耐热聚乙烯(PE-RT)管道系统第2部分:管材
- 摩托车领域:春风动力企业组织结构及部门职责
- 超市进场收费协议书
- 中国CDM能力建设项目培训讲义课件
- 南京大学人工智能学院博士生培养方案
评论
0/150
提交评论