PHP個人博客系統(tǒng)--畢業(yè)設計
畢 業(yè) 設 計基于PHP 的個人博客系統(tǒng)的實現(xiàn)學生承諾書本人鄭重承諾:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集
畢 業(yè) 設 計
基于PHP 的個人博客系統(tǒng)的實現(xiàn)
學生承諾書
本人鄭重承諾:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。
作者簽名:
年 月 日
,摘 要
本系統(tǒng)利用PHP 動態(tài)網(wǎng)絡開發(fā)技術,以MySQL 作為后臺數(shù)據(jù)庫,使用Apache 配置Web 服務器,結合JavaScript 和HTML 兩種腳本語言,以及配合多種網(wǎng)頁開發(fā)工具,實現(xiàn)了基于B/S模式的個人日志發(fā)表和交流的平臺——個人博客系統(tǒng)。
全文主要分為6個部分:第1部分主要介紹個人博客系統(tǒng)的特點、優(yōu)點和本系統(tǒng)所要用到的各種開發(fā)技術;第2部分主要論述了傳統(tǒng)系統(tǒng)和所要開發(fā)系統(tǒng)的處理流程、功能介紹和比較;第3部分主要分析了系統(tǒng)的各項功能和性能需求,給出了系統(tǒng)需求管理規(guī)劃表,展示了各種需求的優(yōu)先級,規(guī)劃和分配了各個模塊所要完成的系統(tǒng)功能;第4部分系統(tǒng)數(shù)據(jù)庫設計,主要分析和設計了系統(tǒng)的數(shù)據(jù)庫表和項,以及數(shù)據(jù)庫各項的標識符;第5部分系統(tǒng)詳細設計,逐一給出了系統(tǒng)各個模塊的詳細設計過程;第6部分系統(tǒng)配置和發(fā)布,介紹了系統(tǒng)開發(fā)和運行的相關環(huán)境配置以及運行效果展示。
關鍵詞:博客 PHP MySQL 動態(tài)網(wǎng)頁 B/S模式
,目 錄
1 緒論 .....................................................................1
1.1 個人博客 ...............................................................1
1.1.1 個人博客的研究意義 ...................................................1
1.1.2個人博客的簡介 . .......................................................1
1.1.3個人博客的特點 . .......................................................2
1.2 開發(fā)技術 ...............................................................2
1.2.1 PHP技術 . .............................................................2
1.2.2 PHP工作原理 . .........................................................3
1.2.3 B/S結構 . .............................................................4
1.2.4 數(shù)據(jù)庫技術 ...........................................................4
1.2.5 Apache技術 . ..........................................................6
1.2.6 JavaScript語言 . ......................................................6
2 系統(tǒng)可行性分析設計 .......................................................6
2.1 開發(fā)的目的和背景 .......................................................6
2.2 系統(tǒng)目標和研究方法 .....................................................7
,2.3 傳統(tǒng)系統(tǒng)的分析 .........................................................8
2.4 所要開發(fā)的系統(tǒng)的分析 ...................................................9
2.5 系統(tǒng)的其它可行性 ......................................................10
2.6 可行性結論 ............................................................11
3 系統(tǒng)需求分析和概要設計 ..................................................11
3.1 系統(tǒng)需求分析 ..........................................................11
3.1.1 開發(fā)背景 ............................................................12
3.1.2 系統(tǒng)實現(xiàn)目標概述 ....................................................12
3.1.3 系統(tǒng)功能需求 ........................................................12
3.1.4 系統(tǒng)需求管理規(guī)劃表 ..................................................13
3.1.5 系統(tǒng)性能要求 ........................................................14
3.2 概要設計 ..............................................................15
3.2.1 系統(tǒng)體系結構 ........................................................15
3.2.2 系統(tǒng)模塊劃分 ........................................................16
3.2.3 系統(tǒng)功能劃分組織結構圖 ..............................................17
3.2.3 運行環(huán)境 ............................................................17
4 系統(tǒng)數(shù)據(jù)庫設計 ..........................................................18
4.1 MySQL 數(shù)據(jù)庫簡介 ......................................................18
4.2 數(shù)據(jù)庫表的設計 ........................................................19
4.2.1 概述 ................................................................19
4.2.2 用戶表 ..............................................................19
4.2.3文章內(nèi)容表 . ..........................................................20
4.2.4 文章評論表 ..........................................................20
4.2.5圖片信息表 . ..........................................................21
4.2.6 朋友圈信息表 ........................................................21
4.2.7 數(shù)據(jù)庫ER 關系圖 .....................................................22
5 系統(tǒng)的詳細設計 ..........................................................22
5.1 首頁面及主要頁面設計 ..................................................23
5.2 系統(tǒng)主要功能模塊開發(fā) ..................................................24
5.1.1首頁模塊 . ............................................................24
,5.1.2 文章管理模塊 ........................................................27
5.1.3 圖片管理模塊 ........................................................29
5.1.4 朋友圈管理模塊 ......................................................31
5.1.5管理員管理模塊 . ......................................................31
6系統(tǒng)配置和發(fā)布 . ..........................................................32
6.1 開發(fā)和應用環(huán)境配置 ....................................................32
6.1.1安裝Apache2.2.6 .....................................................32
6.1.2 安裝PHP5.2.5 . .......................................................33
6.1.3安裝MySQL6.0.3 ......................................................34
6.1.4安裝phpmyadmin2.11.3 ................................................36
6.2 系統(tǒng)的發(fā)布和運行效果 ..................................................36
6.2.1 系統(tǒng)的發(fā)布 ..........................................................36
6.2.2 系統(tǒng)運行效果 ........................................................37
7 總結 ....................................................................42 致 謝 ................................................. 錯誤!未定義書簽。
參 考 文 獻 ...............................................................44
Abstract ..................................................................45 仲愷農(nóng)業(yè)工程學院畢業(yè)論文(設計) 成績評定表 ................. 錯誤!未定義書簽。
,1 緒論
博客,數(shù)字生活新時尚,通過文字、圖片、聲音等,盡情展示自我、分享感受、參與交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博客。
1.1 個人博客
1.1.1 個人博客的研究意義
越來越多的網(wǎng)絡用戶希望能夠在網(wǎng)絡平臺上更多地展現(xiàn)自己的個性,更方便地與人互動交流,在傳統(tǒng)的WEB1.0時代,無論是論壇、社區(qū)還是個人網(wǎng)站,都試圖在這些方面進行努力,隨著WEB2.0時代的到來,一個新的概念出現(xiàn)了----博客。隨著計算機網(wǎng)絡的飛速發(fā)展,博客已經(jīng)成為寫網(wǎng)絡日志必不可少的一種工具,也是一種簡單有效的提供網(wǎng)絡用戶之間進行在線交流的網(wǎng)絡平臺,通過其可以結交更多的朋友,表達更多的想法,它隨時可以發(fā)布日志,方便快捷。訪客可以直接在個人Blog 上留言,如提出問題或意見等。個人博客的發(fā)展,也已經(jīng)成為廣告商業(yè)務拓展的重要領域??傊?,Blog 是繼Email 、BBS 、ICQ 之后的第四種網(wǎng)絡交互方式。Blog 是未來信息化教育和個人知識管理的強大而簡單易用的工具。
1.1.2個人博客的簡介
“博客”一詞是從英文單詞Blog 翻譯而來。Blog 是Weblog 的簡稱,而Weblog 則是由Web 和Log 兩個英文單詞組合而成。Weblog 就是在網(wǎng)絡上發(fā)布和閱讀的流水記錄,通常稱為“網(wǎng)絡日志”,簡稱為“網(wǎng)志”。它是繼Email 、BBS 、IM 之后出現(xiàn)的第四種全新的網(wǎng)絡交流方式。它絕不僅僅是一種單向的發(fā)布系統(tǒng),而且有著極其出色的交流功能。另外Blog 也提供了非常方便實用的個性化功能。簡言之,Blog 就是以網(wǎng)絡作為載體,簡易迅速便捷地發(fā)布自己的心得,及時有效輕松地與他人進行交流,再集豐富多彩的個性化展示于一體的綜合性平臺。
1
,1.1.3個人博客的特點
1,零機制:博客屬于個人所有,是自發(fā)建立和非正式的建設。BSP (Blog Service Provider ——博客服務托管商)不能對博客發(fā)號施令。
2,零技術:博客不需要作網(wǎng)站的專業(yè)知識,可以像發(fā)郵件一樣簡單地實現(xiàn)博客網(wǎng)頁的呈現(xiàn)。技術的極度簡化,包括架構和申請博客網(wǎng)站、編輯、上傳和修改內(nèi)容等。
3,零成本:任何一個人都可以像申請免費郵件般免費申請自己的博客網(wǎng)站。不需要注冊域名的成本,不需要租用服務器空間的成本,不需要許多軟件工具的成本。
4,零編輯:博客用戶就是編輯,即時寫作、即時發(fā)布、自我檢查。這形成了與傳統(tǒng)寫作截然不同的“體驗”,真正實現(xiàn)了作者“零磨損”的開放式寫作。
5,零形式:博客頁面的表現(xiàn)形式和文章內(nèi)容的表現(xiàn)方式十分靈活,沒有特定形式。 6,與個人主頁相比較,博客的使用更方便、交互性更強。與傳統(tǒng)的電子郵件、BBS 和ICQ 這三種互聯(lián)網(wǎng)溝通方式相比,博客是一種較嚴肅的溝通平臺。BBS 公共匿名性很強,而個人性很弱,因此缺乏約束。電子郵件和ICQ 則是多用于個人間的通訊,而博客是個人性和公共性的結合。博客是個人在網(wǎng)上展示自己、與別人溝通交流的綜合平臺,它的管理比BBS 簡單的多。
1.2 開發(fā)技術
本系統(tǒng)在Windows XP 下采用PHP 技術作為服務器端腳本解釋器,MySQL 作為后臺數(shù)據(jù)庫平臺以及Apache 作為Web 服務器,并且使用了一些輔助開發(fā)工具和技術,比如Dreamweaver CS3等。
1.2.1 PHP技術
PHP (Hypertext Preprocessor——超文本預處理器)是一種HTML 內(nèi)嵌式的腳本語言(類似ASP )。PHP 的語法大部分兼容了C 、JA V A 、Perl ,并增加了PHP 特有的語法結構,可以比CGI 或者Perl 更快速的執(zhí)行動態(tài)網(wǎng)頁,只需要很少的編程知識就能建立一個交互的WEB 站點。它可以用于管理動態(tài)內(nèi)容、支持數(shù)據(jù)庫、處理會話跟蹤,甚至構建整個電子商務站點。它支持許多流行的數(shù)據(jù)庫,包括 MySQL 、PostgreSQL 、Oracle 、Sybase 、Informix 和 Microsoft SQL Server。
PHP 是完全免費的開源產(chǎn)品,不用花錢,你可以從PHP 官方站點(http: //www.php.net) 2
,自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。
Apache 和MYSQL 也是同樣免費開源,在國外非常流行。PHP 和MYSQL 搭配使用,可以非常快速的搭建一套不錯的動態(tài)網(wǎng)站系統(tǒng),因此國外大多數(shù)主機系統(tǒng)都配有免費的
APACHE +PHP +MYSQL 。通常認為這種搭配的執(zhí)行效率比IIS +ASP +ACCESS 要高,而后者的使用還必須另外交錢給微軟。
PHP 具有如下的優(yōu)點:
1.學習簡單:只需要了解一些基本的語法和語言特設,就可以開始使用PHP 。
數(shù)據(jù)庫連接方便:PHP 可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP 與MYSQL
是現(xiàn)在絕佳的組合??梢跃帉懲鈬暮瘮?shù)間接存取數(shù)據(jù)庫。這樣當更換使用的數(shù)據(jù)庫時,可以輕松的更改編碼以適應這樣的變化。PHPLIB 就是最常用的可以提供一般事務需要的一系列基庫。
2.擴展性強:PHP 已經(jīng)進入了一個高速發(fā)展的時期,具有良好的擴展附加功能。
可以進行面向對象編程:PHP 提供了類和對象,基于WEB 的編程工作非常需要面
向對象編程能力。PHP 支持構造器、提取類等。
總之,PHP 技術具有免費、跨平臺、可加密、開發(fā)效率高等優(yōu)點,在編寫小型的網(wǎng)
站系統(tǒng)時較之ASP 、JSP 等技術有一定優(yōu)勢。
1.2.2 PHP工作原理
PHP 的所有應用程序都是通過WEB 服務器(如apache) 和PHP 引擎程序解釋執(zhí)行完
成的,工作過程:
(1)當用戶在瀏覽器地址中輸入要訪問的PHP 頁面文件名,然后回車就會觸發(fā)這個
PHP 請求,并將請求傳送給支持PHP 的WEB 服務器。
(2)WEB服務器接受這個請求,并根據(jù)其后綴進行判斷。如果是一個PHP 請求,WEB
服務器從硬盤或內(nèi)存中取出用戶要訪問的PHP 應用程序,并將其發(fā)送給PHP 引擎程序。
(3)PHP引擎程序將會對WEB 服務器傳送過來的文件從頭到尾進行掃描并根據(jù)命令
從后臺讀取,處理數(shù)據(jù),并動態(tài)地生成相應的HTML 頁面。
(4)PHP引擎將生成HTML 頁面返回給WEB 服務器。WEB 服務器再將HTML 頁面
返回給客戶端瀏覽器。
3
,1.2.3 B/S結構
在當前Internet/Intranet領域,“瀏覽器/服務器(簡稱B/S)”結構是非常流行的客戶機/服務器結構。在B/S體系結構系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結構簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件。服務器將擔負更多的工作,對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行將在服務器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結果返回以及動態(tài)網(wǎng)頁生產(chǎn)等工作全部由Web Server 完成。實際上B/S體系結構是把二層C/S結構的事務處理邏輯模塊從客戶機的任務中分離出來,由Web 服務器單獨組成一層來負擔其他任務,這樣客戶機的壓力減輕了,把負荷分配給了Web 服務器。這種三次體系結構如圖1所示。

圖1 B/S三層體系結構
這種結構不僅把客戶機從沉重的負擔和不斷對其提高的性能的要求中解放出來,也把技術維護人員從繁重的維護升級工作中解脫出來。由于客戶機把事務處理邏輯部分分給了功能服務器,使客戶機一下子“苗條”了許多,不再負責處理復雜計算和數(shù)據(jù)訪問等關鍵事務,只負責顯示部分,所以維護人員不再為程序的維護工作奔波于每個客戶機之間,而把主要精力放在功能服務器上程序的更新工作。這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。
1.2.4 數(shù)據(jù)庫技術
數(shù)據(jù)庫是數(shù)據(jù)和數(shù)據(jù)庫對象的集合,其中數(shù)據(jù)庫對象指表(Table )、視圖(View )、存儲過程(Stored Procedure )和觸發(fā)器(Trigger )等。數(shù)據(jù)庫通過SQL (Structured Query 4
,Language )來對數(shù)據(jù)進行操作和管理,這里包括一些基本的操作如select 、delete 、insert 、update 語句。
ADO(ActiveX Data Objects)是微軟開發(fā)數(shù)據(jù)庫應用程序的數(shù)據(jù)庫訪問技術。它被設計用來同新的數(shù)據(jù)庫訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data MySQL )。OLE DB 是一個底層的數(shù)據(jù)庫訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關系數(shù)據(jù)庫。ADO 封裝了OLE DB程序中使用的大量COM 接口,所以是一種高層訪問技術。關于數(shù)據(jù)庫管理系統(tǒng)和接口的原理如圖2所示。
MySQL 是一個快速、多線程、多用戶的小型關系型數(shù)據(jù)庫管理系統(tǒng)。它支持正規(guī)的SQL 查詢語言和采用多種數(shù)據(jù)類型,能對數(shù)據(jù)進行各種詳細的查詢等。MySQL 提供了一全套的數(shù)據(jù)庫創(chuàng)建和訪問機制,通過很直觀的方式就可以創(chuàng)建、訪問、修改數(shù)據(jù)庫的表和項,并且能建立它們之間的各種數(shù)據(jù)關系。MySQL 系列從90年代就發(fā)展起來,經(jīng)過了多年的反展,它已經(jīng)成為非常成熟的技術,面向中小型企業(yè)級應用。
MySQL 數(shù)據(jù)庫的特點是數(shù)據(jù)庫文件小而簡單,不需要運行或者啟動數(shù)據(jù)庫服務進程就可以使用。通常MySQL 數(shù)據(jù)庫文件可以隨網(wǎng)頁文件一起方便地放在網(wǎng)站的目錄中,正是由于這些特點,MySQL 數(shù)據(jù)庫通常被用來作為網(wǎng)站開發(fā)的數(shù)據(jù)庫支持技術。
對MySQL 數(shù)據(jù)庫的管理采用圖形化管理工具phpMyAdmin 。phpMyAdmin 是一個用PHP 編寫的、基于Web 的、跨平臺的MySQL 管理程序,支持簡體中文,使用Web 瀏覽器作為管理界面。通過phpMyAdmin 可以進行絕大部分的MySQL 操作,包括對數(shù)據(jù)庫級操作,表級操作,以及數(shù)據(jù)管理等。
標準SQL






圖2 數(shù)據(jù)庫管理系統(tǒng)和接口的原理
5