基于PHP的个人博客系统的实现.docx
- 文档编号:28989955
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:17
- 大小:106.64KB
基于PHP的个人博客系统的实现.docx
《基于PHP的个人博客系统的实现.docx》由会员分享,可在线阅读,更多相关《基于PHP的个人博客系统的实现.docx(17页珍藏版)》请在冰豆网上搜索。
基于PHP的个人博客系统的实现
摘要
本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合JavaScript和HTML两种脚本语言,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台——个人博客系统。
全文主要分为6个部分:
第1部分主要介绍个人博客系统的特点、优点和本系统所要用到的各种开发技术;第2部分主要论述了传统系统和所要开发系统的处理流程、功能介绍和比较;第3部分主要分析了系统的各项功能和性能需求,给出了系统需求管理规划表,展示了各种需求的优先级,规划和分配了各个模块所要完成的系统功能;第4部分系统数据库设计,主要分析和设计了系统的数据库表和项,以及数据库各项的标识符;第5部分系统详细设计,逐一给出了系统各个模块的详细设计过程;第6部分系统配置和发布,介绍了系统开发和运行的相关环境配置以及运行效果展示。
关键词
博客PHPMySQL动态网页B/S模式
目录
个人主页的时代已经过去,全民皆“博”悄悄到来。
XX空间、Qzone、新浪Blog、MSNSpace等等。
新一代的Blog正在为网络注入新的活力,它们的最大特点就是“我的地盘,我做主”,可以让用户全方位多角度地展现个性自我!
名人的加盟,更令博客锦上添花。
博客,网络生活新时尚,文字、图片、声音等,尽情展示自我、分享感受、参与交流,美好生活。
Showyou,shareme,人人都可以博客,人人都需要博客。
真正地利用博客使自己出名并不是唯一的出路,也并不是每一个博主的目的,因为大家都生活在现实中,无论名人还是普通人,博客对于他们的作用本质是一样的。
把自己的想法种在这里,总有一天会开出一朵美丽的花,不渴望别人欣赏,只要自己喜欢就可以,因为除了博客,我们还有很多事情需要面对。
博客,也就是借助网络的力量让天涯海角的朋友依旧能够相聚在一起,每天看到朋友们的点滴生活记录,仿佛就亲眼看到了他们的生活、工作一样,回忆回忆过去,然后又展望一下未来,生活有时候太平淡,幸好还有网络,还有博客以及博客中真实的彼此——仔细想想,足矣。
一.个人博客
1.个人博客的研究意义
越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与人互动交流,在传统的WEB1.0时代,无论是论坛、社区还是个人网站,都试图在这些方面进行努力,随着WEB2.0时代的到来,一个新的概念出现了----博客。
随着计算机网络的飞速发展,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发布日志,方便快捷。
访客可以直接在个人Blog上留言,如提出问题或意见等。
个人博客的发展,也已经成为广告商业务拓展的重要领域。
总之,Blog是继Email、BBS、ICQ之后的第四种网络交互方式。
Blog是未来信息化教育和个人知识管理的强大而简单易用的工具。
2.个人博客的简介
“博客”一词是从英文单词Blog翻译而来。
Blog是Weblog的简称,而Weblog则是由Web和Log两个英文单词组合而成。
Weblog就是在网络上发布和阅读的流水记录,通常称为“网络日志”,简称为“网志”。
它不仅仅是一种单向的发布系统,而且有着极其出色的交流功能。
另外Blog也提供了非常方便实用的个性化功能。
简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
3.个人博客的特点
1零机制:
博客属于个人所有,是自发建立和非正式的建设。
BSP(BlogServiceProvider——博客服务托管商)不能对博客发号施令。
2零技术:
博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。
技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。
3零成本:
任何一个人都可以像申请免费邮件般免费申请自己的博客网站。
不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。
4零编辑:
博客用户就是编辑,即时写作、即时发布、自我检查。
这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。
5零形式:
博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。
6与个人主页相比较,博客的使用更方便、交互性更强。
与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。
BBS公共匿名性很强,而个人性很弱,因此缺乏约束。
电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。
博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。
二.开发技术
本系统在Windows7下采用开发工具Dreamweaver8与集成环境WampServer结合编程,用phpMyAdmin创建后台数据库。
1.PHP技术
PHP(HypertextPreprocessor——超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。
PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。
它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。
它支持许多流行的数据库,包括MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer。
PHP具有如下的优点:
1.学习简单:
只需要了解一些基本的语法和语言特设,就可以开始使用PHP。
数据库连接方便:
PHP可以编译成具有与许多数据库相连接的函数。
PHP与MYSQL是现在绝佳的组合。
可以编写外围的函数间接存取数据库。
这样当更换使用的数据库时,可以轻松的更改编码以适应这样的变化。
PHPLIB就是最常用的可以提供一般事务需要的一系列基库。
2.扩展性强:
PHP已经进入了一个高速发展的时期,具有良好的扩展附加功能。
可以进行面向对象编程:
PHP提供了类和对象,基于WEB的编程工作非常需要面向对象编程能力。
PHP支持构造器、提取类等。
总之,PHP技术具有免费、跨平台、可加密、开发效率高等优点,在编写小型的网站系统时较之ASP、JSP等技术有一定优势。
2.PHP工作原理
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页面返回给客户端浏览器。
3.B/S结构
在当前Internet/Intranet领域,“浏览器/服务器(简称B/S)”结构是非常流行的客户机/服务器结构。
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。
服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生产等工作全部由WebServer完成。
实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其他任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。
这种三次体系结构如图1所示。
图1B/S三层体系结构
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。
由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
4.数据库技术
数据库是数据和数据库对象的集合,其中数据库对象指表(Table)、视图(View)、存储过程(StoredProcedure)和触发器(Trigger)等。
数据库通过SQL(StructuredQueryLanguage)来对数据进行操作和管理,这里包括一些基本的操作如select、delete、insert、update语句。
MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。
它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。
MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。
MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。
MySQL数据库的特点是数据库文件小而简单,不需要运行或者启动数据库服务进程就可以使用。
通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中,正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。
对MySQL数据库的管理采用图形化管理工具phpMyAdmin。
phpMyAdmin是一个用PHP编写的、基于Web的、跨平台的MySQL管理程序,支持简体中文,使用Web浏览器作为管理界面。
通过phpMyAdmin可以进行绝大部分的MySQL操作,包括对数据库级操作,表级操作,以及数据管理等。
(二)系统可行性分析设计
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.2.1已有介绍。
2处理流程
所开发的系统处理流程(总体功能级数据流图)如图5所示,该图给出了所要开发系统的系统工作、写作文章和文章交流的方式以及流程途径。
图5所要开发系统处理流程
3数据流图
所开发系统的数据流图如图6和图7所示,它们都是进一步分解后的数据流图。
其中图6是用户管理的功能分解数据流图,而图7是文章管理以及评论的功能分解数据流图。
图7涉及到用户文章和评论事务和数据库的频繁存储交互,体现了个人博客中文章、日志发表和评论的功能,是个人博客系统中比较主要的一项事务过程。
图6系统数据流图-用户权限/管理
图7系统数据流图-文章发表/评论
2.5系统的其它可行性
1.技术可行性
本系统主要由PHP作为主要开发技术,PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。
系统采用优秀的关系型数据库管理系统MYSQL作为后台数据库,能和Windows以及当前各种系统很好的兼容搭配。
其它辅助网站设计的技术相当丰富,相应开发环境和工具也一应俱全,比如用于网页界面设计的Dreamweaver8,还有一些图形处理软件如Fireworks8等都是相当成熟和简便的开发工具。
2.性能效益可行性
所开发的系统基本能满足个人博客的功能要求和展示博客的特点风格,在处理运算速度、存储量以及响应时间上完全能满足系统要求。
现在网络发展迅速,上网人数众多,博客作为个人个性和情感的展现舞台,相信有非常广阔的发展和应用空间。
3.硬件可行性
系统所采用的技术和平台都是比较成熟和已经发展数年的,目前的硬件配置一般都足以满足系统的运行要求。
系统的基本硬件要求:
网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和系统平台(WindowsXP)、支持PHP架构的能处理动态网页技术的浏览器(IE6.0以上等具备解释PHP技术的浏览器)。
2.6可行性结论
综上所述,作为毕业设计的一个项目,简要讨论分析了系统的各种可行性,并且各项可行性上完全满足开发要求,可以开始进一步的工作。
(三)系统需求分析和概要设计
一.系统需求分析
系统需求分析是现代软件工程应用于系统开发的一项重要环节,通过需求分析可以明确系统的各项需求和功能,根据这些需求和功能可以更好地指导下一步的系统开发和设计,避免了在设计之后对需求的变更而导致的大量返工。
1.开发背景
过去很多人都喜欢写文章写日记以及交流自己的文章和作品,以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。
现在的网络已经成为人们生活中不可或缺的一个元素,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。
个人博客现在已经成为很多人生活中必不可少的一个部分,方便了人与人之间的沟通和交流。
2.系统实现目标概述
基于个人博客以上的特点,本系统要实现个人博客的主要基本功能有主界面,用户注册,注册用户登录发表文章(心情、日志),用户登录/退出,游客发表评论,分页浏览文章和评论等。
这里其中比较主要的是区分了个人博客的注册用户和游客。
注册用户可以在任何时候写下自己的主张,记录下自己的点点滴滴。
而游客主要的权限是阅读博客所有注册用户写的文章,阅读后可以发表评论和留言,还可以分页浏览所有注册用户上传的图片。
以上是个人博客的系统功能目标,当然由于个人博客的网络流行特点以及个人个性的展示,还适当要求界面比较漂亮轻快,直观便捷,操作方式简单以及人性化。
3.系统功能需求
根据对系统的特点和应用的分析,可以得到本系统主要有如下功能:
(1)用户注册和登录
这部分功能又分为用户注册、用户登录、用户退出三个部分。
用户注册:
游客将个人的信息存储到博客网站的数据库中,注册时要求填写用户的各种详细信息,包括id、Password、Email、性别、生日、其它辅助信息。
凡是符合要求的游客都可以注册成功,成为本博客的正式用户,。
系统接受这些信息并存储在服务器端的数据库中。
用户登录:
主要用于验证博客网站用户信息的真实身份,以便对博客网站进行管理和维护。
通过注册后的用户用个人注册的用户名,密码登录到网站。
网站检测用户的用户名,密码并给予其相应的权限对博客网站进行操作。
用户退出:
已经登陆的用户可以退出,释放自己所占有的各种信息资源。
(2)文章管理
文章管理主要有文章的发表、查询、浏览、评论和删除功能。
博客的系统管理员除了可以查询、浏览和评论文章外,还可以对系统中的所有文章以及评论进行修改、删除操作。
这些维护和管理拥有最高权限,并且系统自动更新在服务器端数据库中的数据。
文章的发表:
注册用户可以发表自己的文章,文章包括主题、正文、表情、图片等信息,作者通过各种元素来展示自己的想法和思想。
系统接受这些信息并且存储在服务器端的数据库中。
文章的删除:
注册用户可以删除自己已经发表的文章内容和各项信息,系统自动在服务器端数据库中删除这些记录。
文章的浏览:
游客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息,包括标题、正文、表情、图片以及其它读者的留言评论。
文章的评论:
文章的读者可以评论和回复所阅读的文章,发表自己的看法。
系统自动将这些评论存储在服务器端的数据库中,并且可供博客作者以及其它读者浏览。
文章的查询:
注册用户可以按文章题目或作者来查询想要查的文章。
(3)图片管理
图片管理有添加,浏览、删除和查询功能。
注册用户可以添加自己喜欢的图片,还可以查询和浏览系统中的所有图片信息。
游客只能浏览博客系统中的所有图片。
系统管理员拥有以上的所有权限,除此之外还可以删除图片。
(4)朋友圈管理
注册用户可以添加自己的朋友信息到朋友圈,可以再浏览和查询朋友信息的前提下,进行删除朋友信息操作。
(5)管理员管理
博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括修改用户所有的权限,查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。
4.系统需求管理规划表
根据以上对系统的需求分析,我们可以得到一个更为简明扼要的系统需求管理规划表,本表罗列了系统的各项主要功能,并且对其分类,配有间断描述,最重要的室给出了各个功能需求的优先级,优先级的高低表示了功能实现的迫切程度和必要程度。
优级高的代表该功能是系统很重要的功能,需要重点实现。
如表1所示。
表1系统需求管理规划表
需求分类
需求名称
描述
优先级
功能性需求
用户注册
用户可以注册自己的各项信息
高
用户登录/退出
用户可以登录或者退出系统
高
用户权限管理
博客管理员可以修改用户的权限以及删除用户账号
高
文章的添加
注册用户可以发表文章,包括表情、图片、链接等
高
文章的删除
博客管理员可以删除任何一篇文章
但注册用户只能删除自己写的文章
中
文章列表
对文章按一定类型或者顺序用列表方式展示题目
中
浏览文章
博客文章读者可以分页浏览文章
高
评论文章
博客文章读者可以对文章进行评论和回复
高
评论的删除
博客管理员可以删除某篇文章的某条评论
中
朋友信息添加
注册用户可以添加自己朋友的信息
高
浏览朋友信息
注册用户可以浏览自己朋友的信息
高
查询朋友信息
注册用户可以查询自己朋友的信息
高
添加图片
注册用户可以上传自己喜欢的图片,与人分享
高
浏览图片
图片的浏览者可以分页浏览图片
高
删除图片
博客管理员可以删除博客网站中的某张图片
中
查询图片
用户可以查询图片
高
特征和前景
预算
项目开发成本控制在毕业设计范围内
低
系统目标
设计和实现个人博客系统,达到毕业设计的目标和要求
高
非功能性需求
平台限制
基于WindowsXP,Apache2.2.4以上,PHP+MySQL数据库
高
操作方式
全部操作都能基于浏览器进行
低
硬件需求
网络服务器,P3以上、128MB以上多媒体工作站
互连网络连接以及相应设备
中
5.系统性能要求
(1)系统可靠性要求
系统对用户操作有相应提示,并且可以检查用户输入的各种数据的合法性,对于不合法的数据屏蔽并且提示用户,以避免由于越界或者格式错误而造成的系统错误甚至崩溃。
系统在对于数据库操作时候,数据库有一定的约束机制。
特点是对于外键(FK)而言,通过“级连”(Cascade)和“参照”(Reference)来保证数据的完整性。
系统能够应对各种特殊操作情况和出错情况,并且给出相应提示。
系统能够有一定的安全和保护措施,以保证网站的正常运行,避免文件和数据库遭到意外事件的破坏而导致网站瘫痪。
(2)系统时间要求
在不考虑网络状况情况下,系统的响应时间应该相当迅速,数据的存储和处理以及返回过程应该满足用户的等待需求,一般控制在0.2s以内。
(3)系统适应性要求
系统应该兼容Windows操作平台、MySQL数据库以及IE浏览器。
(4)系统并行处理能力要求
系统能够支持同时间多用户的访问需求,并且保证运行的相对顺畅。
(5)系统精度要求
时间精度到达秒为单位,其它数据精确到小数点后2位。
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PHP 个人 博客 系统 实现