基于PHP的个人博客系统的实现

基于PHP的个人博客系统的实现
基于PHP的个人博客系统的实现

摘要

本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合JavaScript和HTML两种脚本语言,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台——个人博客系统。

全文主要分为6个部分:第1部分主要介绍个人博客系统的特点、优点和本系统所要用到的各种开发技术;第2部分主要论述了传统系统和所要开发系统的处理流程、功能介绍和比较;第3部分主要分析了系统的各项功能和性能需求,给出了系统需求管理规划表,展示了各种需求的优先级,规划和分配了各个模块所要完成的系统功能;第4部分系统数据库设计,主要分析和设计了系统的数据库表和项,以及数据库各项的标识符;第5部分系统详细设计,逐一给出了系统各个模块的详细设计过程;第6部分系统配置和发布,介绍了系统开发和运行的相关环境配置以及运行效果展示。

关键词

博客 PHP MySQL 动态网页 B/S模式

目录

个人主页的时代已经过去,全民皆“博”悄悄到来。百度空间、Qzone、新浪Blog、MSN Space等等。新一代的Blog正在为网络注入新的活力,它们的最大特点就是“我的地盘,我做主”,可以让用户全方位多角度地展现个性自我!名人的加盟,更令博客锦上添花。

博客,网络生活新时尚,文字、图片、声音等,尽情展示自我、分享感受、参与交流,美好生活。Show you,share me,人人都可以博客,人人都需要博客。

真正地利用博客使自己出名并不是唯一的出路,也并不是每一个博主的目的,因为大家都生活在现实中,无论名人还是普通人,博客对于他们的作用本质是一样的。把自己的想法种在这里,总有一天会开出一朵美丽的花,不渴望别人欣赏,只要自己喜欢就可以,因为除了博客,我们还有很多事情需要面对。

博客,也就是借助网络的力量让天涯海角的朋友依旧能够相聚在一起,每天看到朋友们的点滴生活记录,仿佛就亲眼看到了他们的生活、工作一样,回忆回忆过去,然后又展望一下未来,生活有时候太平淡,幸好还有网络,还有博客以及博客中真实的彼此——仔细想想,足矣。

一.个人博客

1.个人博客的研究意义

越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与人互动交流,在传统的WEB1.0时代,无论是论坛、社区还是个人网站,都试图在这些方面进行努力,随着WEB2.0时代的到来,一个新的概念出现了----博客。

随着计算机网络的飞速发展,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发布日志,方便快捷。

访客可以直接在个人Blog上留言,如提出问题或意见等。个人博客的发展,也已经成为广告商业务拓展的重要领域。

总之,Blog是继Email、BBS、ICQ之后的第四种网络交互方式。Blog是未来信息化教育和个人知识管理的强大而简单易用的工具。

2.个人博客的简介

“博客”一词是从英文单词Blog翻译而来。Blog是Weblog的简称,而Weblog则是由Web和Log两个英文单词组合而成。Weblog就是在网络上发布和阅读的流水记录,通常称为“网络日志”,简称为“网志”。

它不仅仅是一种单向的发布系统,而且有着极其出色的交流功能。另外Blog也提供了非常方便实用的个性化功能。

简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。

3.个人博客的特点

1 零机制:博客属于个人所有,是自发建立和非正式的建设。BSP(Blog Service Provider——博客服务托管商)不能对博客发号施令。

2 零技术:博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。

3 零成本:任何一个人都可以像申请免费邮件般免费申请自己的博客网站。不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。

4 零编辑:博客用户就是编辑,即时写作、即时发布、自我检查。这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。

5 零形式:博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。

6 与个人主页相比较,博客的使用更方便、交互性更强。与传统的电子邮件、BBS 和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。BBS公共匿名性很强,而个人性很弱,因此缺乏约束。电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。

二.开发技术

本系统在Windows 7下采用开发工具Dreamweaver 8与集成环境WampServer结合编程,用phpMyAdmin创建后台数据库。

1.PHP技术

PHP(Hypertext Preprocessor——超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。

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结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生产等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其他任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三次体系结构如图1所示。

图1 B/S三层体系结构

这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。

4.数据库技术

数据库是数据和数据库对象的集合,其中数据库对象指表(Table)、视图(View)、存储过程(Stored Procedure)和触发器(Trigger)等。数据库通过SQL(Structured Query Language)来对数据进行操作和管理,这里包括一些基本的操作如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 系统数据流图-文章发表/评论

相关主题
相关文档
最新文档