基于PHP的博客管理系统的设计与实现.docx
本科生毕业设计(论文)题目:基于PHP的博客管理系统的设计与实现摘要1Abstract21 .博客管理系统绪论31.l开发背景与意义31.2开发现状32 .博客管理系统开发技术介绍51. 1运行环境52. 2PHP简介63. 3CSS简介73 .博客管理系统分析93. 1博客管理功能需求分析94. 2博客管理业务流程分析105. 3博客管理系统数据流程分析H4 .博客管理系统设计141. 1博客管理系统设计问题分析144. 2博客管理系统总体设计145. 3博客管理系统功能模块设计156. 4博客管理系统数据库设计165 .博客管理系统的实现251. 1登录模块的实现255. 2相册模块的实现266. 3上传照片模块的实现277. 4博客模块的实现278. 5注册用户模块的实现289. 6新闻信息模块的实现296 .博客管理系统的测试301. 1测试目的306. 2测试方法307. 3功能测试308. 4性能测试327 .结语338 考文献349 谢35摘要随着科学技术的进步,博客交流领域系统的发展水平得到了迅速的提升,博客已经成为了一个新的潮流热点。目前国内已有较多地方将博客管理系统投入了实际应用中。然而,一些地方对博客管理的接触还比较浅薄,传统的纸质方式是他们的主要选择。本系统的成功实现将为博客交流领域提供一个便捷的博客管理平台,用来提升博客管理效率。本系统基于B/S架构,采用PHP技术,使用MySQ1.数据库来完成开发。本系统的用户有管理员用户,用户受到管理员的制约,实现博客基本交流领域信息的查询、添加等操作。实现后的系统功能模块主要包括:相册、上传照片、博客、注册用户、新闻信息模块。系统经过完善设计后,在一定程度上使博客管理的流程变得简便,促进了博客交流领域的发展。关键词:博客管理,PHP,B/S,MySQ1.AbstractWiththeprogressofscienceandtechnology,thedevelopmentlevelofthesysteminthefieldofblogcommunicationhasbeenpromotedrapidly.Atpresent,moreplacesinChinahaveusedtheblogmanagementsystem.However,someplacesstilllagbehindinblogmanagement,andthetraditionalpapermethodistheirmainchoice.Therealizationofthissystemwillprovideaconvenientblogmanagementplatformforthefieldofblogcommunication,toimprovetheefficiencyofblogmanagement.ThissystemisbasedonB/Sarchitecture,usingPHPtechnology,usingMySQ1.databasetocompletethedevelopment.Theusersofthissystemhaveadministratorusers,usersarerestrictedbytheadministrator,therealizationofblogbasiccommunicationfieldinformationquery,addandotheroperations.Aftertheimplementationofthesystemfunctionmodulemainlyincludes:photoalbum,uploadphotos,blog,registeredusers,newsinformationmodule.Afterperfectdesign,thesystemmakestheprocessofblogmanagementsimpletoacertainextent,andpromotesthedevelopmentofblogcommunicationfield.Keywords:Blogmanagement,PHP,B/S,MySQ1.1.1 开发背景与意义近些年来,随着科技时代的发展,在各个领域信息化建设都有日新月异的进展,如上门取件、短视频的发展、线上购物等,人们不断享受互联网带来的无限便利。博客的兴起是进行网络交流的又一个新事物川。因此促进博客交流领域信息化也是一项重要课题,博客管理也是博客交流领域的一项重要内容。博客交流领域信息化建设的重要课题便是利用最新的网络技术实现博客管理。传统的博客管理流程较为复杂,浪费了管理员和用户的大量时间,使博客管理的利用率大大降低;博客交流领域资源受到繁琐的博客管理流程的极大影响,其利用率降低,管理员和用户的工作负担也变得繁重;影响了博客交流领域的便利性。因此,按照当前网络技术快速成长的趋向,博客管理系统平台的便捷性显得尤为重要。为了提高博客交流领域资源的利用率,博客管理流程必须要简洁明了,管理员的任务也会因此而减少。1.2 开发现状1980年,博客管理系统开始投入市场使用,博客管理系统的功能较为简易,基本只能对数据进行简单的增删改查的操作。在二十世纪末期,博客管理系统经过升级系统之后也开始投入使用,基于C/S(用户/服务器)结构模型。系统也开始着手研究商业化形式的发展,它的主要优势为:互动性强,运行速度也比较快,更加利于处理大量数据。不过C/S模式只适用于局域网,客户端需要要安装专门的客户端软件,当系统升级时每一台客户机需要重新安装,操作系统可能受到限制。1990年来,网络技术水平进一步发展,第三代博客管理诞生了。2010年至今,第四代博客管理系统应运而生,这个系统完善了之前系统的缺点和不足,把博客管理系统推向新的高潮。博客管理方面的研究在国外起步较早,美国更是处于领先地位,调查显示早期的美国主要通过博客交流讯息。如今博客应用比较流行和普及,博客也成为多数人交流信息的主要工具。上个世纪末期,网络化博客管理慢慢出现在国内视野,博客交流领域实践能力和团队协作能力由此得到进步。2002年,首届博客管理系统的学术研讨会成功举办,推动了博客管理的发展。对于国内来说,博客的发展还处于刚刚起步的阶段。综上,结合当前网络技术的发展趋势,提高博客管理的效率及博客交流领域资源利用率,由此开发一套博客管理系统提升博客管理水平显得尤为必要。2博客管理系统开发技术介绍PHP的三个运行环境:(1) Nginx+SwooleSWOOIe是由韩天峰编写的一个PHP扩展,主打异步/高并发/常驻服务特性.适用于HTTP/TCP/UDP/WEBSOCKET等多种伺服器应用场景。Swoole让PHP开发人员可以创建高性能多并发的TCP、UDP.UnixSocketsHTTP、WebSoCket等服务,让PHP不再拘泥于web领域。Swoole采用I/O多路复用异步阻塞的Reactor模型,采用多线程ReaCtO什多线程Worker实现异步I/O。Reactor基于Epoli,每个Reactor可以处理无数个连接请求,因而可以轻松处理高并发。NginX+swoole模式下,IIginX作为前端接入层转发机,SWOole作为应用服务器构建高并发web服务。(2) Nginx+php-fpmFastCGI是一个中性的技术标准,php-fpm是PhP语言的FastCGI进程管理器。CGI的fork-and-execute模式有很多缺点,每接收一个请求就要fork一个进程处理,只能接收一个请求做出一个响应。每一个web请求PHP都必须重新解析php.ini文件,重新载入全部扩展并初始化全部数据结构。FaStCGl进程像是一个常驻CGI,在请求到达时,FaStCGl进程管理器选择并连接一个PHP-CGI解释器去接受Web服务器发送过来的环境变量和标准输入。FaStCGl在启动前启动,解析php.ini文件,加载扩展,并在启动时初始化数据结构,并且作为CGl管理服务器存在,它使用进程/线程池来预启动一系列等待处理的子进程。它不需要在收到请求后启动CG1.这要比传统的运行快得多。FastCGI支持分布式运算(distributedcomputing),即FastCGI程序可以在Web服务器以外的主机上执行并且接受来自其它网站服务器来的请求。(3) Apache+mod_phpmod_php模式运行PHP,意味着PHP是作为apache的一个模块来启动。只有在叩ache启动的时候会读取php.ini配置文件并加载扩展模块,在apache运行期间是不会再去读取和加载扩展模块的。Apache出于稳定性和安全性考虑,通常使用默认的PrefOrk模式运行PHP程序。Apache总是尝试为传入的请求保留空闲的子进程用来避免客户端的等待时间。但是,一旦连接数过高,apache必须生成更多的进程来响应请求,CPU会频繁地在进程之间切换,这会消耗更多的事件和资源,导致apache性能下降。同时,叩ache的同步阻塞I/O模型需要SeleCt遍历多个连接句柄,以了解句柄是否有事件通知,因此效率非常低。2.2PHP简介PHP语言入门门槛较低,易于学习,使用广泛,其优点有:(1)开放其源代码O(2)免费。(3)跨平台性强。(4)效率高。(5)运行快,程序开发快。(6)编辑简单,实用性强。(7)面向对象。(8)支持脚本语言为主。PHP是一种HTM1.内嵌式的语言,执行效率比完全生成HTM1.标记的CGI要高许多15U下面介绍PHP的主要功能:(1)传递任意数量的函数参数在NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许通过使用任意个数的参数。(2)使用glob()查找文件,通过使用PHP内部自带的glob()函数去搜索文件的文字,这一功能对于文件的查找非常简便。(3)获取内存使用情况信息PHP的内存回收机制非常强大,可以通过使用PHP脚本获取当前内存的使用情况,调用memory_get_usage()函数获取当期内存使用情况,调用memory_get_peak_usage()函数获取内存使用的峰值。(4)获取CPU使用情况信息可以通过使用PHP的getrusage()函数获取CPU使用情况,该方法在windows下不可用。(5)获取系统常量PHP提供非常有用的系统常量,可以便利的得到当前的行号(_1.INE_),文件(_FI1.E_),目录(_DIR_),函数名(_FUNCTION_),类名(_C1.ASS_),方法名(_METHOD_)和名字空间(_NAMESPACE_),这些操作类似C语言。(6)生成唯一的id通过利用md5()来生成唯一的编号,但是md5()有几个缺点:1、无序,导致数据库中排序性能下降。2、太长,需要更多的存储空间。但是PHP中本身携带了一个函数来生成唯一的id,这个函数就是Uniqid()。(7)序列化PHP序列化功能比较常见,可以利用PHP中的SerialiZe()和UnSerialiZe()方法来实现序列化和反序列化,将数据存到数据库或者文件中。(8)字符串压缩字符串压缩最常用的是文件压缩,但是字符串也是可以进行压缩的。PHP提供了gzcompress()和gzuncompress()函数。(4) CSS简介的作用:(1) CSS样式表,层叠样式表。(2)可以通过CSS对网站进行包装。(3)可以对网页进行优化。样式表也具备很多优势:(1)内容与表现分离,便于维护。(2)样式丰富