PHP个人博客系统毕业设计.docx
- 文档编号:27083676
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:57
- 大小:1.50MB
PHP个人博客系统毕业设计.docx
《PHP个人博客系统毕业设计.docx》由会员分享,可在线阅读,更多相关《PHP个人博客系统毕业设计.docx(57页珍藏版)》请在冰豆网上搜索。
PHP个人博客系统毕业设计
毕业设计
基于PHP的个人博客系统的实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
摘要
本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合JavaScript和HTML两种脚本语言,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台——个人博客系统。
全文主要分为6个部分:
第1部分主要介绍个人博客系统的特点、优点和本系统所要用到的各种开发技术;第2部分主要论述了传统系统和所要开发系统的处理流程、功能介绍和比较;第3部分主要分析了系统的各项功能和性能需求,给出了系统需求管理规划表,展示了各种需求的优先级,规划和分配了各个模块所要完成的系统功能;第4部分系统数据库设计,主要分析和设计了系统的数据库表和项,以及数据库各项的标识符;第5部分系统详细设计,逐一给出了系统各个模块的详细设计过程;第6部分系统配置和发布,介绍了系统开发和运行的相关环境配置以及运行效果展示。
关键词:
博客PHPMySQL动态网页B/S模式
1绪论
博客,数字生活新时尚,通过文字、图片、声音等,尽情展示自我、分享感受、参与交流,美好你我生活。
Showyou,shareme,人人都可以博客,人人都需要博客。
1.1个人博客
1.1.1个人博客的研究意义
越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与人互动交流,在传统的WEB1.0时代,无论是论坛、社区还是个人网站,都试图在这些方面进行努力,随着WEB2.0时代的到来,一个新的概念出现了----博客。
随着计算机网络的飞速发展,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发布日志,方便快捷。
访客可以直接在个人Blog上留言,如提出问题或意见等。
个人博客的发展,也已经成为广告商业务拓展的重要领域。
总之,Blog是继Email、BBS、ICQ之后的第四种网络交互方式。
Blog是未来信息化教育和个人知识管理的强大而简单易用的工具。
1.1.2个人博客的简介
“博客”一词是从英文单词Blog翻译而来。
Blog是Weblog的简称,而Weblog则是由Web和Log两个英文单词组合而成。
Weblog就是在网络上发布和阅读的流水记录,通常称为“网络日志”,简称为“网志”。
它是继Email、BBS、IM之后出现的第四种全新的网络交流方式。
它绝不仅仅是一种单向的发布系统,而且有着极其出色的交流功能。
另外Blog也提供了非常方便实用的个性化功能。
简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
1.1.3个人博客的特点
1,零机制:
博客属于个人所有,是自发建立和非正式的建设。
BSP(BlogServiceProvider——博客服务托管商)不能对博客发号施令。
2,零技术:
博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。
技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。
3,零成本:
任何一个人都可以像申请免费邮件般免费申请自己的博客网站。
不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。
4,零编辑:
博客用户就是编辑,即时写作、即时发布、自我检查。
这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。
5,零形式:
博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。
6,与个人主页相比较,博客的使用更方便、交互性更强。
与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。
BBS公共匿名性很强,而个人性很弱,因此缺乏约束。
电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。
博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。
1.2开发技术
本系统在WindowsXP下采用PHP技术作为服务器端脚本解释器,MySQL作为后台数据库平台以及Apache作为Web服务器,并且使用了一些辅助开发工具和技术,比如DreamweaverCS3等。
1.2.1PHP技术
PHP(HypertextPreprocessor——超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。
PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。
它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。
它支持许多流行的数据库,包括MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer。
PHP是完全免费的开源产品,不用花钱,你可以从PHP官方站点(http:
//)自由下载。
而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
Apache和MYSQL也是同样免费开源,在国外非常流行。
PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。
通常认为这种搭配的执行效率比IIS+ASP+ACCESS要高,而后者的使用还必须另外交钱给微软。
PHP具有如下的优点:
1.学习简单:
只需要了解一些基本的语法和语言特设,就可以开始使用PHP。
数据库连接方便:
PHP可以编译成具有与许多数据库相连接的函数。
PHP与MYSQL是现在绝佳的组合。
可以编写外围的函数间接存取数据库。
这样当更换使用的数据库时,可以轻松的更改编码以适应这样的变化。
PHPLIB就是最常用的可以提供一般事务需要的一系列基库。
2.扩展性强:
PHP已经进入了一个高速发展的时期,具有良好的扩展附加功能。
可以进行面向对象编程:
PHP提供了类和对象,基于WEB的编程工作非常需要面向对象编程能力。
PHP支持构造器、提取类等。
总之,PHP技术具有免费、跨平台、可加密、开发效率高等优点,在编写小型的网站系统时较之ASP、JSP等技术有一定优势。
1.2.2PHP工作原理
PHP的所有应用程序都是通过WEB服务器(如apache)和PHP引擎程序解释执行完成的,工作过程:
(1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送给支持PHP的WEB服务器。
(2)WEB服务器接受这个请求,并根据其后缀进行判断。
如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。
(3)PHP引擎程序将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。
(4)PHP引擎将生成HTML页面返回给WEB服务器。
WEB服务器再将HTML页面返回给客户端浏览器。
1.2.3B/S结构
在当前Internet/Intranet领域,“浏览器/服务器(简称B/S)”结构是非常流行的客户机/服务器结构。
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。
服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生产等工作全部由WebServer完成。
实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其他任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。
这种三次体系结构如图1所示。
图1B/S三层体系结构
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。
由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
1.2.4数据库技术
数据库是数据和数据库对象的集合,其中数据库对象指表(Table)、视图(View)、存储过程(StoredProcedure)和触发器(Trigger)等。
数据库通过SQL(StructuredQueryLanguage)来对数据进行操作和管理,这里包括一些基本的操作如select、delete、insert、update语句。
ADO(ActiveXDataObjects)是微软开发数据库应用程序的数据库访问技术。
它被设计用来同新的数据库访问层OLEDBProvider一起协同工作,以提供通用数据访问(UniversalDataMySQL)。
OLEDB是一个底层的数据库访问接口,用它可以访问各种数据源,包括传统的关系数据库。
ADO封装了OLEDB程序中使用的大量COM接口,所以是一种高层访问技术。
关于数据库管理系统和接口的原理如图2所示。
MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。
它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。
MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。
MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。
MySQL数据库的特点是数据库文件小而简单,不需要运行或者启动数据库服务进程就可以使用。
通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中,正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。
对MySQL数据库的管理采用图形化管理工具phpMyAdmin。
phpMyAdmin是一个用PHP编写的、基于Web的、跨平台的MySQL管理程序,支持简体中文,使用Web浏览器作为管理界面。
通过phpMyAdmin可以进行绝大部分的MySQL操作,包括对数据库级操作,表级操作,以及数据管理等。
图2数据库管理系统和接口的原理
1.2.5Apache技术
Apache是最流行的Web服务器端软件之一。
快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。
Apache服务器拥有以下特性:
1支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程;2支持通用网关接口;3支持基于IP和基于域名的虚拟主机;4支持多种方式的HTTP认证;5集成Perl处理模块;6集成代理服务器模块;7支持实时监视服务器状态和定制服务器日志;8支持服务器端包含指令(SSI);9支持安全Socket层(SSL);10提供用户会话过程的跟踪;11支持FastCGI;通过第三方模块可以支持JavaServlets。
1.2.6JavaScript语言
JavaScript语言是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。
使用它的目的是与HTML超级文本语言、JavaApplet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而达到开发客户端应用程序的目的。
JavaScript是通过嵌入或调入在标准HTML语言中实现,它的出现弥补了HTML语言的缺陷。
在JavaScript语言的配合下,能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来.
2系统可行性分析设计
2.1开发的目的和背景
这里首先简要介绍系统可行性分析的目的和系统开发的相关背景。
1、编写目的
可行性分析主要介绍开发项目的一些背景,系统的各方面可行性,从技术、本系统的前景以及当前个人博客的特点和需求等方面展示本系统的优势和限制,主要对象是网络中的上网用户,以便作出正确的后继设计与开发决策。
2、项目背景
写日记、文章一直以来都作为很多人表达自己感情,展示自己才华以及与外人沟通的重要方式,也成为了很多人生活中的重要部分。
过去人们都是靠纸和笔来实现,甚至到之后有了电脑,也最多用文本编辑软件来写,最后还是得通过人工交换自己所写的东西,无论是纸张作为载体还是电子存储设备作为载体。
这样极大缩减了交流的范围和速度以及交流的频度。
随着网络的开速发展,它已经走入大众生活,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片、音乐,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。
更重要的是网络个人博客利用网络的巨大优势,可以非常快捷、广泛而没有界限地自由交流。
交流速度快、交流范围广以及可以让网络中任何人浏览、评论是博客的最大特点,正是有了这些特点,个人博客现在已经成为很多人生活中必不可少的一个部分,它让更多人了解作者的心声,方便了人与人之间的沟通和交流。
2.2系统目标和研究方法
1、系统的目标
该目标主要是结合与传统系统(即传统以纸张或者磁盘、光盘为载体的写作模式)的比较而定。
(1)人力和设备的节省
传统系统主要是通过人力写作,并且载体是纸张或者磁盘、光盘。
而通过本系统,可以节省一定写作人力,并且利用网络存储方式,节省了纸张资源和笔墨资源或者磁盘、光盘资源的使用。
(2)界面美观和便捷的提升
本系统相对传统系统而言,利用了多媒体的各种视觉效果,可以方便加入图片和背景以及表情,有明显的界面美观和直观的优势。
(3)编辑修改的提升
本系统可以使对文章或者一些图片背景等的编辑修改变得非常容易,非常便捷和快速。
只用修改局部,不用返工,并且不会留下视觉瑕疵。
(4)交流广泛性和速度的提升
通过网络这种媒介,使得文章、日志的交流变得非常广泛,不会受到地域和世界的限制,世界各地任何人都可以享受交流的服务。
并且交流的速度比传统更加快速方便,不通过传统载体的传递。
2、可行性研究方法
(1)调研传统系统效率和特点
通过调研和对比传统系统的工作方式和特点,发现效率和实用性的差距。
通过理论和现实技术发展的特点和要求,估算和提出效率、功能的提升。
(2)参考目前已有的网站和案例
如今博客在网络上比比皆是,可以参考和学习已有的一些优秀个人博客的特点和成功之处,来发现传统系统需要改进的地方和新的开发入口。
2.3传统系统的分析
1、处理流程
传统系统处理流程(总体功能级数据流图)如图3所示,该图给出了传统方式的写作文章以及交流的方式和流程途径。
图3传统系统处理流程
2、数据流图
传统系统的数据流图如图4所示,该图主要给出了传统的以纸张或者磁盘为载体的文章、日志写作和交流的数据流程。
图4传统系统数据流图
2.4所要开发的系统的分析
对所要开发的系统的分析是从系统的描述和优越性,用开发的系统的处理流程和所开发系统的数据流图(DFD)来说明的。
1系统的描述和优越性
该系统是适应当前网络特点和个人个性的情况下开发的个人博客,主要用于文章和日志的写作以及交流评论。
其主要特点在前面的绪论和2.1.2已经有详细的介绍。
系统的优越性主要体现在编辑的便捷和修改的方便,以及文章的多媒体性和生动性,还有就是交流的广泛性和快速。
详细情况在绪论、背景以及在2.2.1已有介绍。
2处理流程
所开发的系统处理流程(总体功能级数据流图)如图5所示,该图给出了所要开发系统的系统工作、写作文章和文章交流的方式以及流程途径。
图5所要开发系统处理流程
3数据流图
所开发系统的数据流图如图6和图7所示,它们都是进一步分解后的数据流图。
其中图6是用户管理的功能分解数据流图,而图7是文章管理以及评论的功能分解数据流图。
图7涉及到用户文章和评论事务和数据库的频繁存储交互,体现了个人博客中文章、日志发表和评论的功能,是个人博客系统中比较主要的一项事务过程。
图6系统数据流图-用户权限/管理
图7系统数据流图-文章发表/评论
2.5系统的其它可行性
前面主要运用了系统流程图和数据流图,通过对传统系统和要开发的系统分析了系统开发的可行性,下面将从其它一些辅助可行性来进一步分析和说明。
1技术可行性
本系统主要由PHP作为主要开发技术,PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。
系统采用优秀的关系型数据库管理系统MYSQL作为后台数据库,能和Windows以及当前各种系统很好的兼容搭配。
其它辅助网站设计的技术相当丰富,相应开发环境和工具也一应俱全,比如用于网页界面设计的DreamweaverCS3,还有一些图形处理软件如PhotoshopCS2等都是相当成熟和简便的开发工具。
2性能效益可行性
所开发的系统基本能满足个人博客的功能要求和展示博客的特点风格,在处理运算速度、存储量以及响应时间上完全能满足系统要求。
现在网络发展迅速,上网人数众多,博客作为个人个性和情感的展现舞台,相信有非常广阔的发展和应用空间。
3硬件可行性
系统所采用的技术和平台都是比较成熟和已经发展数年的,目前的硬件配置一般都足以满足系统的运行要求。
系统的基本硬件要求:
网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和系统平台(WindowsXP)、支持PHP架构的能处理动态网页技术的浏览器(IE6.0以上等具备解释PHP技术的浏览器)。
2.6可行性结论
综上所述,作为毕业设计的一个项目,简要讨论分析了系统的各种可行性,并且各项可行性上完全满足开发要求,可以开始进一步的工作。
3系统需求分析和概要设计
3.1系统需求分析
系统需求分析是现代软件工程应用于系统开发的一项重要环节,通过需求分析可以明确系统的各项需求和功能,根据这些需求和功能可以更好地指导下一步的系统开发和设计,避免了在设计之后对需求的变更而导致的大量返工。
3.1.1开发背景
过去很多人都喜欢写文章写日记以及交流自己的文章和作品,以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。
现在的网络已经成为人们生活中不可或缺的一个元素,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。
个人博客现在已经成为很多人生活中必不可少的一个部分,方便了人与人之间的沟通和交流。
3.1.2系统实现目标概述
基于个人博客以上的特点,本系统要实现个人博客的主要基本功能有主界面,用户注册,注册用户登录发表文章(心情、日志),用户登录/退出,游客发表评论,分页浏览文章和评论等。
这里其中比较主要的是区分了个人博客的注册用户和游客。
注册用户可以在任何时候写下自己的主张,记录下自己的点点滴滴。
而游客主要的权限是阅读博客所有注册用户写的文章,阅读后可以发表评论和留言,还可以分页浏览所有注册用户上传的图片。
以上是个人博客的系统功能目标,当然由于个人博客的网络流行特点以及个人个性的展示,还适当要求界面比较漂亮轻快,直观便捷,操作方式简单以及人性化。
3.1.3系统功能需求
根据对系统的特点和应用的分析,可以得到本系统主要有如下功能:
(1)用户注册和登录
这部分功能又分为用户注册、用户登录、用户退出三个部分。
用户注册:
游客将个人的信息存储到博客网站的数据库中,注册时要求填写用户的各种详细信息,包括id、Password、Email、性别、生日、其它辅助信息。
凡是符合要求的游客都可以注册成功,成为本博客的正式用户,。
系统接受这些信息并存储在服务器端的数据库中。
用户登录:
主要用于验证博客网站用户信息的真实身份,以便对博客网站进行管理和维护。
通过注册后的用户用个人注册的用户名,密码登录到网站。
网站检测用户的用户名,密码并给予其相应的权限对博客网站进行操作。
用户退出:
已经登陆的用户可以退出,释放自己所占有的各种信息资源。
(2)文章管理
文章管理主要有文章的发表、查询、浏览、评论和删除功能。
博客的系统管理员除了可以查询、浏览和评论文章外,还可以对系统中的所有文章以及评论进行修改、删除操作。
这些维护和管理拥有最高权限,并且系统自动更新在服务器端数据库中的数据。
文章的发表:
注册用户可以发表自己的文章,文章包括主题、正文、表情、图片等信息,作者通过各种元素来展示自己的想法和思想。
系统接受这些信息并且存储在服务器端的数据库中。
文章的删除:
注册用户可以删除自己已经发表的文章内容和各项信息,系统自动在服务器端数据库中删除这些记录。
文章的浏览:
游客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息,包括标题、正文、表情、图片以及其它读者的留言评论。
文章的评论:
文章的读者可以评论和回复所阅读的文章,发表自己的看法。
系统自动将这些评论存储在服务器端的数据库中,并且可供博客作者以及其它读者浏览。
文章的查询:
注册用户可以按文章题目或作者来查询想要查的文章。
(3)图片管理
图片管理有添加,浏览、删除和查询功能。
注册用户可以添加自己喜欢的图片,还可以查询和浏览系统中的所有图片信息。
游客只能浏览博客系统中的所有图片。
系统管理员拥有以上的所有权限,除此之外还可以删除图片。
(4)朋友圈管理
注册用户可以添加自己的朋友信息到朋友圈,可以再浏览和查询朋友信息的前提下,进行删除朋友信息操作。
(5)管理员管理
博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括修改用户所有的权限,查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。
3.1.4系统需求管理规划表
根据以上对系统的需求分析,我们可以得到一个更为简明扼要的系统需求管理规划表,本表罗列了系统的各项主要功能,并且对其分类,配有间断描述,最重要的室给出了各个功能需求的优先级,优先级的高低表示了功能实现的迫切程度和必要程度。
优级高的代表该功能是系统很重要的功能,需要重点实现。
如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 个人 博客 系统 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)