freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于php框架的社區(qū)論壇管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2024-07-15 17:16 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 求和功能,對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)進(jìn)行了全面分析,數(shù)據(jù)庫(kù)選擇用Mysql數(shù)據(jù)庫(kù),Mysql數(shù)據(jù)庫(kù)中有Innodb,myisam等幾種引擎,論壇系統(tǒng)多為插入操作,所以選擇Innodb引擎[13],在前后臺(tái)的操作中,對(duì)經(jīng)常操作的字段添加索引,比如在文章表中的作者ID和所屬版塊ID中添加普通索引。一個(gè)比較復(fù)雜的應(yīng)用系統(tǒng),其對(duì)應(yīng)的數(shù)據(jù)庫(kù)表往往以千計(jì)。若讓數(shù)據(jù)庫(kù)管理員看到對(duì)象名就了解這個(gè)數(shù)據(jù)庫(kù)對(duì)象所起的作用,恐怕會(huì)比較困難。而且在數(shù)據(jù)庫(kù)對(duì)象引用的時(shí)候,數(shù)據(jù)庫(kù)管理員也會(huì)為不能迅速找到所需要的數(shù)據(jù)庫(kù)對(duì)象而頭疼。為此,制定一個(gè)數(shù)據(jù)庫(kù)對(duì)象的前綴BBS。數(shù)據(jù)庫(kù)設(shè)計(jì)符合范式。為各表之間添加必要的關(guān)聯(lián)外鍵。當(dāng)系統(tǒng)中用戶特別多的時(shí)候,每次都向數(shù)據(jù)庫(kù)服務(wù)器中請(qǐng)求數(shù)據(jù),這樣的方案不利于網(wǎng)站以后的發(fā)展,對(duì)經(jīng)常訪問(wèn)的頁(yè)面進(jìn)行文件緩存和內(nèi)存緩存。內(nèi)存緩存采用Memcache。緩存是在磁盤或者內(nèi)存中臨時(shí)存儲(chǔ)數(shù)據(jù)的一塊區(qū)域。使用緩存可以提高效率,盡量減少對(duì)數(shù)據(jù)庫(kù)的壓力,提高頁(yè)面相應(yīng)速度[14]。Memcache是一個(gè)高性能的分布式的內(nèi)存對(duì)象緩存系統(tǒng),通過(guò)在內(nèi)存里維護(hù)一個(gè)統(tǒng)一的巨大的hash表,它能夠用來(lái)存儲(chǔ)各種格式的數(shù)據(jù),包括圖像、視頻、文件以及數(shù)據(jù)庫(kù)檢索的結(jié)果等。簡(jiǎn)單的說(shuō)就是將數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存中讀取,從而大大提高讀取速度。論壇系統(tǒng)中一定有搜索功能,以前的搜索大多利用Sql語(yǔ)句實(shí)現(xiàn),但是當(dāng)系統(tǒng)用戶特別多的時(shí)候,頻繁的進(jìn)行數(shù)據(jù)庫(kù)操作,會(huì)給數(shù)據(jù)庫(kù)服務(wù)器帶來(lái)很大的壓力,本系統(tǒng)采用Sphinx全文檢索實(shí)現(xiàn)系統(tǒng)的搜索功能[15],Sphinx單一索引最大可包含1億條記錄,(毫秒級(jí))。Sphinx創(chuàng)建索引的速度為:創(chuàng)建100萬(wàn)條記錄的索引只需 3~4分鐘,創(chuàng)建1000萬(wàn)條記錄的索引可以在50分鐘內(nèi)完成,而只包含最新10萬(wàn)條記錄的增量索引,重建一次只需幾十秒。第 4 章 系統(tǒng)功能詳細(xì)實(shí)現(xiàn)本章詳細(xì)介紹了如何開(kāi)發(fā)BBS論壇管理系統(tǒng),以及七大功能模塊的功能描述和操作方法,并對(duì)各大功能模塊的實(shí)現(xiàn)過(guò)程進(jìn)行了詳盡的闡述。 個(gè)人用戶管理功能本小節(jié)主要介紹的是在開(kāi)發(fā)個(gè)人用戶管理功能模塊過(guò)程中所遇到的問(wèn)題,以及解決問(wèn)題的方法,即實(shí)現(xiàn)方法。(1)問(wèn)題描述沒(méi)有注冊(cè)成用戶的可以進(jìn)行注冊(cè),已經(jīng)注冊(cè)成功的管理自己的信息,其中頭像在論壇中要顯示三種大小的,其中小頭像是在瀏覽頁(yè)中顯示,中等大小頭像是在文章中顯示,大頭像可以在系統(tǒng)以后的完善中做插件修改頭像使用。(2)實(shí)現(xiàn)方法前臺(tái)修改用戶個(gè)人信息界面如圖41所示。圖41 個(gè)人詳細(xì)信息編輯界面不同大小頭像需要編寫產(chǎn)生縮略圖的類,首先打開(kāi)extension=,重啟apache服務(wù)器,其代碼實(shí)現(xiàn)如下:class Zoom{ static function savePath($sPath,$toW,$toH,$savePath,$prefix=s_){ $i=imagecreatetruecolor($toW,$toH)。 $white=imagecolorallocate($i, 255, 255, 255)。 imagefill($i,0,0,$white)。 $arr=getimagesize($sPath)。 $sW=$arr[0]。 $sH=$arr[1]。 $sType=$arr[39。mime39。]。 switch($sType){ case 39。image/jpeg39。: case 39。image/pjpeg39。: $funName=jpeg。 break。 case 39。image/gif39。: $funName=gif。 break。 case 39。image/png39。: $funName=png。 break。 default: return false。 } $trueFunName=imagecreatefrom.$funName。 $s=$trueFunName($sPath)。 $biliW=$sW/$toW。 $biliH=$sH/$toH。if($biliW=$biliH){ $trueBili=$biliW。 }else{ $trueBili=$biliH。 } $trueW=$sW/$trueBili。 $trueH=$sH/$trueBili。 $toX=($toW$trueW)/2。 $toY=($toH$trueH)/2。 imagecopyresized($i,$s,$toX,$toY,0,0,$trueW,$trueH,$sW,$sH)。 $fileArr=explode(/,$sPath)。 $oldName=end($fileArr)。 $newName=$prefix.$oldName。 $saveFunName=image.$funName。 return $saveFunName($i,$savePath./.$newName)。 }} 論壇內(nèi)容展示功能用戶對(duì)自己感興趣的板塊可以發(fā)表文章或者進(jìn)行回帖。該系統(tǒng)采用UE編輯器,使發(fā)表文章時(shí)有更加豐富的內(nèi)容。在頂級(jí)分區(qū)下模塊區(qū)可以查看對(duì)應(yīng)模塊下的文章及回帖總數(shù),及文章和回帖的最后發(fā)表時(shí)間。在文章詳細(xì)頁(yè)面可以查看每個(gè)用戶的頭像等詳細(xì)信息。其實(shí)從系統(tǒng)開(kāi)始運(yùn)行開(kāi)始,系統(tǒng)就會(huì)判斷緩存中是否有該首頁(yè)信息,如果有直接加載緩存。系統(tǒng)首頁(yè)部分截圖如圖42所示。在系統(tǒng)首頁(yè)中,有六大分區(qū),每個(gè)分區(qū)下對(duì)應(yīng)不同的版塊,用戶點(diǎn)擊某分區(qū)下的版塊可以查看該版塊下有什么文章,例如點(diǎn)擊后端開(kāi)發(fā)中的PHP。系統(tǒng)界面如圖43所示。用戶點(diǎn)擊該版塊下的某個(gè)文章,可以查看文章內(nèi)容及評(píng)論,也可以發(fā)表評(píng)論,以及在該版塊下發(fā)表文章。例如點(diǎn)擊文章的緩存原理文章,系統(tǒng)界面如圖44所示。圖 42 系統(tǒng)首頁(yè)部分截圖圖43 系統(tǒng)登陸界面圖44 瀏覽文章界面為提升用戶體驗(yàn),發(fā)帖采用了UEditor網(wǎng)絡(luò)文本編輯器,用戶發(fā)帖界面如圖45所示。 圖45 發(fā)表文章界面 會(huì)員管理功能管理員可以添加會(huì)員,對(duì)會(huì)員的個(gè)人信息進(jìn)行管理,刪除會(huì)員。會(huì)員也可以添加分區(qū)及板塊。 添加會(huì)員功能本小節(jié)主要介紹的是會(huì)員管理中的添加會(huì)員功能,以及這些功能是調(diào)用的那部分函數(shù)。(1) 功能描述由于論壇管理系統(tǒng)一個(gè)管理員對(duì)整個(gè)系統(tǒng)的管理過(guò)于繁忙,所以添加一個(gè)會(huì)員同樣有管理員的權(quán)限和管理員協(xié)同工作。添加會(huì)員界面如圖46所示。圖46 添加會(huì)員界面(2)程序?qū)崿F(xiàn)Yii框架安裝后,是以MVC模式開(kāi)發(fā)的,下面的代碼是Controller層的加添會(huì)員過(guò)程。首先實(shí)例化用戶對(duì)象,指定場(chǎng)景為useradd,以便于編寫規(guī)則,然后驗(yàn)證,如果是真,則插入數(shù)據(jù)庫(kù),最后恢復(fù)密碼以及重復(fù)密碼為空。public function actionAdd(){$usermodel = new User()。 $usermodelscenario = 39。useradd39。 if(!empty($_POST[39。User39。])){ $usermodelattributes = $_POST[39。User39。]。 if($usermodelvalidate()){ $usermodelpassword =md5($usermodelpassword)。 $usermodelrtime = time()。 $usermodelrip = ip2long($_SERVER[39。REMOTE_ADDR39。])。 $usermodelisadmin = 39。139。 if($usermodelinsert()){ $profilemodel = new Profile()。 $profilemodeluid = $usermodelgetPrimaryKey()。 $profilemodel = $_POST[39。User39。][39。39。]。 if($profilemodelinsert()){ Yii::app()usersetFlash(39。info39。,39。用戶名添加成功39。)。 }else{ Yii::app()usersetFlash(39。info39。,39。用戶名添加失敗39。)。 } }else{ Yii::app()usersetFlash(39。info39。,39。用戶名添加失敗39。)。 } } } $usermodelpassword = 39。39。 $usermodelrepass = 39。39。 $thisrender(useradd,array(39。model39。=$usermodel))。 }和Controller層對(duì)應(yīng)的View層有兩種方式編寫,可以運(yùn)用常用的html方式編寫,本系統(tǒng)代碼采用Yii框架組件模式編寫。ul id=tabsmenu class=tabsmenu li class=activea href=tab1會(huì)員管理/a/li /ul div id=tab1 class=tabcontent h3 align=center添加會(huì)員/h3 ?php $form = $thisbeginWidget(39。CActiveForm39。) ? div class=form div class=form_row ?php echo $formlabelEx($model,39。username39。) ??php echo formtextField($model,39。username39。,array(39。class39。=39。form_input39。)) ? /div div class=form_row ?php echo $formlabelEx($model,39。password39。) ? ?php echo $formpasswordField($model,39。password39。,array(39。class39。=39。form_input39。)) ? /div div class=form_row ?php echo $formlabelEx($model,39。repass39。) ? ?php echo $formpasswordField($model,39。repass39。,array(39。class39。=39。form_input39。)) ? /div div class=form_row ?php echo $formlabelEx($model,39。39。) ? ?php echo $formField($model,39。39。,array(39。class39。=39。form_input39。)) ? /div div class=form_row input type=submit class=form_submit value=添加 / /div ?php $form = $thisendWidget(39。CActiveForm39。) ? div class=clear/div ?php echo $formerror($model,39。username39。)。 echo $formerror($model,39。password39。)。 echo $formerror($model,39。repass39。)。 echo $formerror($model,39。39。)。 if(Yii::app()userhasFlash(39。info39。)){ echo Yii::app()usergetFlash(39。info39。)。 } ? /div /div該過(guò)程Validate方法驗(yàn)證成功,驗(yàn)證失敗返回假,如果驗(yàn)證失敗,我們需要將失敗的錯(cuò)誤信息顯示到模板當(dāng)中 會(huì)員管理功能 本小節(jié)描述了會(huì)員管理功能,主要是編輯會(huì)員信息和刪除會(huì)員,還有分頁(yè)顯示會(huì)員列表。主要闡述系統(tǒng)運(yùn)行流程以及管理的具體代碼實(shí)現(xiàn)。(1)功能描述分頁(yè)顯示所有會(huì)員。會(huì)員不僅能夠在前臺(tái)發(fā)帖,還能進(jìn)入后臺(tái)進(jìn)行管理,在后臺(tái)能夠編輯會(huì)員的詳細(xì)信息,和刪除某會(huì)員。操作過(guò)程如圖47,48所示。圖47 會(huì)員編輯界面圖48 會(huì)員分頁(yè)顯示界面(2)程序?qū)崿F(xiàn)我們主要利用Page組件實(shí)現(xiàn)分頁(yè),首先實(shí)例化User對(duì)象和criterria容器,然后統(tǒng)計(jì)總條數(shù),實(shí)例
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1