動(dòng)態(tài)網(wǎng)頁課程設(shè)計(jì)--基于php+mysql的網(wǎng)址大全系統(tǒng)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p><b>  i.可行性分析1</b></p><p>  ii.系統(tǒng)開發(fā)具備的基本知識(shí)與技術(shù)1</p><p><b>  LAMP平臺(tái)1</b></p><p>  MVC (Model View Contro

2、ler)思想2</p><p>  Smarty模板引擎技術(shù)3</p><p>  iii.系統(tǒng)分析部分4</p><p>  1)網(wǎng)站前臺(tái)結(jié)構(gòu)(前臺(tái)業(yè)務(wù)流程圖)4</p><p>  2)后臺(tái)功能分析(后臺(tái)業(yè)務(wù)流程)4</p><p>  3)數(shù)據(jù)流程圖(模擬用戶訪問時(shí)的數(shù)據(jù)流向)5</p>

3、<p>  4)數(shù)據(jù)庫需求分析5</p><p>  5)數(shù)據(jù)字典(部分表的字段信息、索引及部分字段注釋)6</p><p>  iv.系統(tǒng)設(shè)計(jì)部分10</p><p>  1)系統(tǒng)各頁面介紹10</p><p><b>  2)頁面邏輯10</b></p><p>  3)

4、系統(tǒng)各目錄及文件功能說明:11</p><p>  v.系統(tǒng)實(shí)施部分12</p><p>  1)程序框圖(對(duì)應(yīng)于系統(tǒng)分析前兩部分)12</p><p>  2)源程序(在此分析幾個(gè)簡(jiǎn)單的php文件)21</p><p>  3)測(cè)試服務(wù)器相關(guān)信息29</p><p>  4)模擬運(yùn)行數(shù)據(jù)30</p&

5、gt;<p><b>  用戶權(quán)限管理30</b></p><p>  首頁個(gè)性化設(shè)置31</p><p>  系統(tǒng)使用過程中需補(bǔ)充說明的內(nèi)容32</p><p>  附錄或參考資料32</p><p>  基于PHP+MySQL的網(wǎng)址大全系統(tǒng)</p><p>  摘要:本著

6、為廣大網(wǎng)民提供一個(gè)更優(yōu)秀的“上網(wǎng)窗口”的宗旨,我們選擇開發(fā)了這樣一個(gè)網(wǎng)址大全系統(tǒng)。本系統(tǒng)采用目前網(wǎng)站開發(fā)中應(yīng)用最為廣泛使用的PHP程序編寫而成,結(jié)合實(shí)用高效而且免費(fèi)的MySQL數(shù)據(jù)庫,以及用于頁面與程序分離的smarty模板技術(shù)等技術(shù)。同時(shí)為了提高網(wǎng)站的可管理性、體現(xiàn)系統(tǒng)的邏輯性,本系統(tǒng)借用MVC思想,實(shí)現(xiàn)了模塊、頁面、控制器相分離,方便各功能模塊的管理和新功能的開發(fā)。</p><p><b>  i.

7、可行性分析</b></p><p>  隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)民數(shù)量日趨增加,一個(gè)瀏覽器架起了網(wǎng)民和外面世界的橋梁,地球成了地球村。雖然上網(wǎng)的人數(shù)在不斷增加,但與此同時(shí),我們發(fā)現(xiàn)不能熟練操作計(jì)算機(jī)的仍是多數(shù)。網(wǎng)民上網(wǎng)過程中需要引導(dǎo)。網(wǎng)民打開瀏覽器后不知道如何操作,進(jìn)入什么網(wǎng)站,查找什么信息。這樣,作為瀏覽器主頁的第一個(gè)頁面成為許多網(wǎng)站開發(fā)者爭(zhēng)相競(jìng)爭(zhēng)的目標(biāo),很多網(wǎng)站都在自己網(wǎng)站顯眼位置注明“設(shè)為主頁”,以

8、期通過這樣的方式,增加網(wǎng)站的訪問量。但是,就目前的形勢(shì)看,瀏覽器主頁越來越多的是搜索引擎、網(wǎng)址大全。因?yàn)樵诨ヂ?lián)網(wǎng)這樣存在海量信息的地方,我們所想獲取的信息卻是特定的,所以我們往往會(huì)借助瀏覽器進(jìn)行搜索,或者對(duì)于常用網(wǎng)站我們只要一次點(diǎn)擊就能到達(dá)的方式。所以我們認(rèn)為網(wǎng)址大全具有很大的發(fā)展?jié)摿Α?lt;/p><p>  網(wǎng)址大全相對(duì)于搜索引擎作為瀏覽器所具有的優(yōu)勢(shì)就是信息量更大,而且同樣具有搜索的功能,此外搜索引擎首頁也有將

9、其做成網(wǎng)址大全的趨勢(shì),像搜索引擎巨頭百度、谷歌都有“個(gè)性化首頁”,只要用戶登錄了,首頁就會(huì)變成可定制的“個(gè)性化首頁”,而這“個(gè)性化首頁”本質(zhì)就是網(wǎng)址大全。</p><p>  借鑒于hao123.com和2345.com這樣典型的網(wǎng)址大全,我認(rèn)為網(wǎng)址大全系統(tǒng)會(huì)擁有巨大的市場(chǎng),同時(shí)借助于免費(fèi)開源的PHP+MySQL+Apache+Linux,我們建站的成本得到大大的降低,所以從技術(shù)和前景等角度考慮上都是可行的。&l

10、t;/p><p>  ii.系統(tǒng)開發(fā)具備的基本知識(shí)與技術(shù)</p><p><b>  LAMP平臺(tái)</b></p><p>  Linux+Apache+Mysql+PHP一組常用來搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開源軟件,本身都是各自獨(dú)立的程序,但是因?yàn)槌1环旁谝黄鹗褂茫瑩碛辛嗽絹碓礁叩募嫒荻?,共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái)。隨著開源潮流的蓬勃發(fā)

11、展,開放源代碼的LAMP已經(jīng)與J2EE和.Net商業(yè)軟件形成三足鼎立之勢(shì),并且該軟件開發(fā)的項(xiàng)目在軟件方面的投資成本較低,因此受到整個(gè)IT界的關(guān)注。從網(wǎng)站的流量上來說,70%以上的訪問流量是LAMP來提供的,LAMP是最強(qiáng)大的網(wǎng)站解決方案。</p><p>  LAMP 平臺(tái)由幾個(gè)組件組成,呈分層結(jié)構(gòu)。每一層都提供了整個(gè)軟件棧的一個(gè)關(guān)鍵部分:</p><p>  Linux 處在最低層,提供

12、操作系統(tǒng)。其他每個(gè)組件實(shí)際上也在其上運(yùn)行。但是,并不一定局限于Linux,如有必要,其他操作系統(tǒng)也可以實(shí)現(xiàn),例如:Windows、Mac OS X 或 UNIX。</p><p>  次低層是 Apache,它是一個(gè) Web 服務(wù)器。Apache 提供可讓用戶獲得 Web 頁面的機(jī)制。Apache 是一款穩(wěn)定的、支持關(guān)鍵任務(wù)的服務(wù)器,Internet 上超過 65% 的網(wǎng)站都使用它作為 Web 服務(wù)器。PHP 組

13、件實(shí)際上是在 Apache 中,動(dòng)態(tài)頁面可以通過 Apache 和 PHP 創(chuàng)建。</p><p>  MySQL 提供 LAMP 系統(tǒng)的數(shù)據(jù)存儲(chǔ)端。有了 MySQL,便可以獲得一個(gè)非常強(qiáng)大的、適合運(yùn)行大型復(fù)雜站點(diǎn)的數(shù)據(jù)庫。在 Web 應(yīng)用程序中,所有數(shù)據(jù)、產(chǎn)品、帳戶和其他類型的信息都存放在這個(gè)數(shù)據(jù)庫中,通過 SQL 語言可以很容易地查詢這些信息。</p><p>  PHP 是一門簡(jiǎn)單而

14、有效的編程語言,它像是粘合劑,可以將 LAMP 系統(tǒng)所有其他的組件粘合在一起。您可以使用 PHP 編寫能訪問 MySQL 數(shù)據(jù)庫中的數(shù)據(jù)和 Linux 提供的一些特性的動(dòng)態(tài)內(nèi)容。</p><p>  MVC (Model View Controler)思想</p><p>  MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖

15、、控制器。它們各自處理自己的任務(wù)。在MVC的處理過程,首先控制器接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。下面簡(jiǎn)單介紹MVC的三個(gè)部分。</p><p>  模型:表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Compone

16、nts這樣的構(gòu)件對(duì)象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。</p><p>  視圖:是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Ma

17、cromedia Flash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語言和Web services。如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。</p><p>  控制器:接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求

18、。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后用確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。</p><p>  為什么這里要使用MVC技術(shù):大部分Web應(yīng)用程序都是用像ASP,PHP,或者CFML這樣的過程化(自PHP5.0版本后已全面支持面向?qū)ο竽P?語言來創(chuàng)建的。它們將像數(shù)據(jù)庫查詢語句這樣的數(shù)據(jù)層代碼和像HTML這

19、樣的表示層代碼混在一起。經(jīng)驗(yàn)比較豐富的開發(fā)者會(huì)將數(shù)據(jù)從表示層分離開來,但這通常不是很容易做到的,它需要精心的計(jì)劃和不斷的嘗試。MVC從根本上強(qiáng)制性的將它們分開。盡管構(gòu)造MVC應(yīng)用程序需要一些額外的工作,但是它給我們帶來的好處是毋庸置疑的。</p><p>  Smarty模板引擎技術(shù)</p><p>  Smarty是一個(gè)使用PHP寫出來的模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它

20、分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡(jiǎn)單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會(huì)影響到前端人員的頁面設(shè)計(jì),前端人員重新修改頁面不會(huì)影響到程序的程序邏輯,這在多人合作的項(xiàng)目中顯的尤為重要。</p><p>  Smarty優(yōu)點(diǎn)有 1. 速度:采用Smarty編寫的程序可以獲得最大速度的提高,這一點(diǎn)是相對(duì)

21、于其它的模板引擎技術(shù)而言的。2. 編譯型:采用Smarty編寫的程序在運(yùn)行時(shí)要編譯成一個(gè)非模板技術(shù)的PHP文件,這個(gè)文件采用了PHP與HTML混合的方式,在下一次訪問模板時(shí)將WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)文件中,而不再進(jìn)行模板重新編譯(在源程序沒有改動(dòng)的情況下)3. 緩存技術(shù):Smarty選用的一種緩存技術(shù),它可以將用戶最終看到的HTML文件緩存成一個(gè)靜態(tài)的HTML頁,當(dāng)設(shè)定Smarty的cache屬性為true時(shí),在Smarty設(shè)定的cac

22、hetime期內(nèi)將用戶的WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)靜態(tài)的HTML文件中來,這相當(dāng)于調(diào)用一個(gè)靜態(tài)的HTML文件。4. 插件技術(shù):Smarty可以自定義插件。插件實(shí)際就是一些自定義的函數(shù)。5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對(duì)模板進(jìn)行格式重排。</p><p>  在本系統(tǒng)中充分運(yùn)用了smarty的這些優(yōu)勢(shì),將PHP文件與HTML文件相分離,而且通過利用sm

23、arty的緩存技術(shù),使系統(tǒng)運(yùn)行速度很快。</p><p>  iii.系統(tǒng)分析部分</p><p>  1)網(wǎng)站前臺(tái)結(jié)構(gòu)(前臺(tái)業(yè)務(wù)流程圖)</p><p>  2)后臺(tái)功能分析(后臺(tái)業(yè)務(wù)流程)</p><p>  為更好的服務(wù)于網(wǎng)站所想要展示的業(yè)務(wù),本系統(tǒng)除在前臺(tái)中展示的頁面外,會(huì)涉及到以下功能,這些功能均會(huì)在系統(tǒng)后臺(tái)涉及:</p>

24、;<p>  后臺(tái)管理首頁中的用戶管理功能,添加多用戶,并可以給予特定的權(quán)利,對(duì)于超級(jí)管理員而言,使網(wǎng)站管理方便,而且簡(jiǎn)單。</p><p>  管理網(wǎng)址的功能,利用數(shù)據(jù)庫管理網(wǎng)址,而不是將每個(gè)網(wǎng)址都寫在靜態(tài)頁面上,無需每次查看、修改代碼,更加方面管理員管理。</p><p>  搜索引擎管理的功能,針對(duì)部分用戶瀏覽器主頁選擇使用搜索引擎主頁的現(xiàn)象,我們將使用更加靈活的搜索方

25、式,以達(dá)到用戶在本頁面即可實(shí)現(xiàn)更加強(qiáng)大的搜索功能,此外還會(huì)提供熱門關(guān)鍵字,讓用戶也知道現(xiàn)在流行搜索那些關(guān)鍵字,增加用戶使用本頁面提供搜索的樂趣性。</p><p>  城市導(dǎo)航的功能,在城市導(dǎo)航頁面里,相對(duì)于首頁,該頁面更加簡(jiǎn)潔,而且沒有廣告,頁面的內(nèi)容不再專注于提供多功能內(nèi)容的全國性站點(diǎn),而是該城市的相關(guān)服務(wù)性網(wǎng)站,該頁面有利于以后在特定城市的發(fā)展。</p><p>  專題管理功能,這

26、部分是根據(jù)特定時(shí)間段里的熱門的網(wǎng)站的一個(gè)搜集,如網(wǎng)絡(luò)游戲、網(wǎng)絡(luò)團(tuán)購、站長工具等特定人群關(guān)注的一個(gè)網(wǎng)站的集合,這樣有助于特定用戶在網(wǎng)站發(fā)現(xiàn)好網(wǎng)站,讓用戶在網(wǎng)站去尋找樂趣。</p><p>  廣告管理的功能,為了保證網(wǎng)站能夠獲得一定的回報(bào),在不影響整體效果的前提下,添加一定的廣告。</p><p>  數(shù)據(jù)管理功能,針對(duì)數(shù)據(jù)庫實(shí)行備份、導(dǎo)入、同步、優(yōu)化、修復(fù)、刪除等功能。</p>

27、<p>  模板管理的功能,因?yàn)楸鞠到y(tǒng)采用MVC架構(gòu),實(shí)現(xiàn)了程序、模板、頁面相分離的效果,所以具有模板修改的功能。</p><p>  生成靜態(tài)頁面的功能,由于系統(tǒng)所展示頁面有限,而且不會(huì)經(jīng)常做出修改,所以前臺(tái)均用程序?qū)⑵渖伸o態(tài)的,使頁面能夠更快展示在用戶面前。</p><p>  3)數(shù)據(jù)流程圖(模擬用戶訪問時(shí)的數(shù)據(jù)流向)</p><p><

28、b>  4)數(shù)據(jù)庫需求分析</b></p><p>  因?yàn)楸鞠到y(tǒng)定義的是網(wǎng)址大全,所以必然會(huì)收集大量的網(wǎng)址,初步會(huì)添加14427條鏈接,所以在此需要數(shù)據(jù)庫對(duì)其進(jìn)行管理??紤]到連接數(shù)之多,我們會(huì)對(duì)這些鏈接進(jìn)行一個(gè)簡(jiǎn)單的分類,而且我們?cè)O(shè)置了三級(jí)。一級(jí)為娛樂休閑、生活服務(wù)、文化教育、其他分類,這四個(gè)欄目。其中娛樂休閑下有30個(gè)二級(jí)分類,生活服務(wù)欄目下有36個(gè)二級(jí)分類,文化教育欄目下有15個(gè)二級(jí)分類,

29、其他分類下有15個(gè)二級(jí)分類,三級(jí)頁面是針對(duì)每個(gè)分類再進(jìn)行的細(xì)分。數(shù)據(jù)庫這部分對(duì)應(yīng)首頁,首頁左邊內(nèi)容(未對(duì)首頁進(jìn)行個(gè)性化設(shè)置情況下),點(diǎn)擊首頁進(jìn)入的單獨(dú)頁面即為第三級(jí)分類;對(duì)應(yīng)后臺(tái)網(wǎng)址管理部分;為數(shù)據(jù)庫中的wzdq_site表。</p><p>  同樣因?yàn)榫W(wǎng)址之多,在首頁里設(shè)置有站內(nèi)搜索的功能,但這部分所用的表不為上面的wzdq_site表,因?yàn)橥ㄟ^后臺(tái)后臺(tái)添加表時(shí),插入數(shù)據(jù)庫的字段達(dá)不到良好的搜索效果,所以針對(duì)

30、搜索功能特別增加一個(gè)表wzdq_site_search,特別添加字段pinyin,讓用戶輸入拼音時(shí),也能搜到相應(yīng)的網(wǎng)站。</p><p>  由于本站采用動(dòng)態(tài)管理網(wǎng)站鏈接,所以除了在wzdq_site表中設(shè)置有顯示時(shí)間,截止時(shí)間外,還建有表wzdq_recycler,以便誤刪,方便恢復(fù)。</p><p>  以上為本系統(tǒng)著重強(qiáng)調(diào)的網(wǎng)址鏈接分類方面的數(shù)據(jù)庫需求分析,此外還有表wzdq_adm

31、in_user管理用戶,wzdq_advert 廣告管理,wzdq_city_* 管理城市導(dǎo)航,wzdq_class網(wǎng)址三級(jí)分類,wzdq系統(tǒng)資料設(shè)置,wzdq_cool *酷站推薦,wzdq_feedback反饋系統(tǒng),wzdq_index_tool首頁實(shí)用工具鏈接,wzdq_ipstate統(tǒng)計(jì)網(wǎng)站訪問情況,wzdq_plan 后臺(tái)計(jì)劃任務(wù),wzdq_link友情鏈接,wzdq_search*多功能搜索,wzdq_urladd用戶請(qǐng)求網(wǎng)

32、址收錄,wzdq_zhuanti *專題管理。</p><p>  5)數(shù)據(jù)字典(部分表的字段信息、索引及部分字段注釋)</p><p>  wzdq_admin_user</p><p><b>  索引:  </b></p><p>  wzdq_advert</p><p><

33、;b>  索引:  </b></p><p>  wzdq_city_cityclass</p><p><b>  索引:  </b></p><p>  wzdq_city_mingzhan</p><p><b>  索引: </b></p

34、><p>  wzdq_config</p><p><b>  索引:  </b></p><p>  wzdq_feedback</p><p><b>  索引:  </b></p><p>  wzdq_search</p><p&

35、gt;<b>  索引:  </b></p><p>  wzdq_searchclass</p><p><b>  索引:  </b></p><p>  wzdq_urladd</p><p><b>  索引:  </b></p>

36、;<p>  wzdq_zhuanti</p><p><b>  索引:  </b></p><p><b>  iv.系統(tǒng)設(shè)計(jì)部分</b></p><p><b>  1)系統(tǒng)各頁面介紹</b></p><p>  前臺(tái)頁面有首頁、網(wǎng)址分類的二級(jí)頁面

37、,前臺(tái)其他頁面還有用戶意見反饋頁面,其他網(wǎng)站站長申請(qǐng)網(wǎng)址收錄頁面等。后臺(tái)所需頁面根據(jù)功能而定,見系統(tǒng)分析部分→后臺(tái)功能分析。</p><p><b>  2)頁面邏輯</b></p><p>  前臺(tái)除簡(jiǎn)單的用戶反饋功能、站長申請(qǐng)收錄網(wǎng)址功能為動(dòng)態(tài)頁面,其他頁面(主要為首頁、專題頁面、城市導(dǎo)航頁面、內(nèi)容分類頁面)均由系統(tǒng)后臺(tái)某程序生成靜態(tài)頁面。作為首頁,訪問網(wǎng)站的第一

38、個(gè)頁面,其聯(lián)系著其他頁面:內(nèi)容分類頁面為用戶點(diǎn)擊首頁左邊相應(yīng)分類進(jìn)入,用戶反饋功能在首頁底部和內(nèi)容分類頁面左上角位置。網(wǎng)址提交頁面由首頁底部提供的相應(yīng)鏈接進(jìn)入。前臺(tái)所需要的靜態(tài)內(nèi)容在根目錄下的static文件夾下,public是首頁中需要的諸如鬧鐘、歷史記錄、首頁個(gè)性化設(shè)置等widget文件。</p><p>  后臺(tái)主要思路就是MVC,將模塊、試圖、控制器分開,故后臺(tái)頁面邏輯就是將每個(gè)功能分成三塊,分別寫入mo

39、dules、controller、tpls三個(gè)文件夾內(nèi),同時(shí)建立application文件夾,建立每個(gè)功能的程序與數(shù)據(jù)庫、smarty等的聯(lián)系,方便調(diào)用。最后就是頁面顯示所需要的靜態(tài)的內(nèi)容,寫入static,包括js、images、css等。</p><p>  3)系統(tǒng)各目錄及文件功能說明:</p><p>  下面將從系統(tǒng)根目錄開始描述各文件夾的作用:</p><p

40、>  Admin后臺(tái)管理目錄,為安全起見,建議修改目錄名,同時(shí)修改文件init.php相應(yīng)位置</p><p>  ├-application目錄下app_tpl.php和app_db功能在controller目錄中起作用,分別為引用定義smarty模板、調(diào)用數(shù)據(jù)庫的作用。其他三個(gè)文件分別定義了一些常用的類,同樣在controller目錄下的php有調(diào)用(類太多,在此不一一介紹)。</p>

41、<p>  ├-configcfg_constants.php為系統(tǒng)安裝過程中相關(guān)常量信息設(shè)置,cfg_database為安裝過程對(duì)數(shù)據(jù)庫執(zhí)行所設(shè)置的相關(guān)信息,僅在安裝過程中需要,安裝完成后,刪除無影響。</p><p>  ├-controllers為后臺(tái)功能模板的php文件,這些文件運(yùn)用smarty時(shí)是通過引入application/app_tpl.php實(shí)現(xiàn)的,而application/

42、app_tpl.php中已經(jīng)將smarty類實(shí)例化了;此外,這些文件還會(huì)調(diào)用數(shù)據(jù)庫,它們是通過引入application/app_db.php實(shí)現(xiàn)的,而調(diào)用的其他類,統(tǒng)一寫在application目錄下的其他三個(gè)文件里。</p><p>  ├-data檢查系統(tǒng)安裝過程中相關(guān)文件是否正確、記錄管理員登錄系統(tǒng)的相關(guān)信息。</p><p>  ├-modules目錄下文件為后臺(tái)各相應(yīng)頁面操

43、作的php文件,定義相關(guān)功能所需要的類,部分引入了smarty模板。用smarty調(diào)用tpls/tpls/main目錄下相關(guān)模板文件,此外, mod_make_html.php和mod_auth.php兩文件在tpls/tpls/main模板目錄下沒有相對(duì)應(yīng)文件, mod_make_html.php利用smarty相關(guān)技術(shù)結(jié)合php將特定文件生成html;mod_auth.php利用smarty相關(guān)技術(shù)結(jié)合php驗(yàn)證用戶登錄權(quán)限。<

44、;/p><p>  ├-static作用同根目錄下的static,為控制系統(tǒng)后臺(tái)頁面顯示的css、images、js等文件</p><p><b>  ├-tpls</b></p><p>  ├-cachesmarty模板技術(shù)緩存目錄。</p><p>  ├-compilesmarty模板技術(shù)編譯時(shí)產(chǎn)生的文件目錄。

45、</p><p>  ├-tpls系統(tǒng)模板文件夾,admin為后臺(tái)頁面的smarty模板文件,main為前臺(tái)風(fēng)格模板文件。</p><p>  ├-index.php后臺(tái)系統(tǒng)登錄入口,正確登錄后加載控制器,實(shí)現(xiàn)在同一頁面調(diào)用不同模板,顯示不同網(wǎng)頁而頁面不跳轉(zhuǎn)。</p><p>  Feedback用戶意見反饋頁面,其中index.php是頁面展示,feed

46、back.php是處理用戶提交信息頁面</p><p>  Html系統(tǒng)生成靜態(tài)頁面存放位置,可修改,里面的文件由系統(tǒng)后臺(tái)中的“靜態(tài)生成”功能完成</p><p>  Public個(gè)性化網(wǎng)站顯示樣式的實(shí)質(zhì)就是調(diào)用該文件夾下的不同css、images、js等文件</p><p>  ├-css存放全站網(wǎng)址鏈接顏色設(shè)置的css文件</p>&l

47、t;p>  ├-home個(gè)性化首頁的外觀(含css、images、js等之類的文件)</p><p>  ├-images設(shè)置首頁背景的幾張圖片所存放的目錄</p><p>  ├-js首頁中各種需要調(diào)用js所存放的目錄</p><p>  ├-page個(gè)性化各分頁面的外觀(含css、images、js等之類的文件)</p><p

48、>  ├-widget包含首頁中的鬧鐘、歷史記錄、個(gè)性化設(shè)置、天氣等功能</p><p>  Static文件作用與public文件相同,僅有些如城市導(dǎo)航等靜態(tài)頁面使用該文件夾內(nèi)的樣式</p><p>  Themes通過對(duì)相關(guān)images、css、js的修改,使頁面呈現(xiàn)不同風(fēng)格,與用戶對(duì)網(wǎng)站風(fēng)格進(jìn)行個(gè)性化設(shè)置不同,這里是網(wǎng)站管理員才能進(jìn)行的修改、設(shè)置</p>

49、<p>  url-submit其他網(wǎng)站站長向本系統(tǒng)提交的網(wǎng)址的功能</p><p>  index.htm/index.html/kp.htm/kp.html</p><p>  均為靜態(tài)的網(wǎng)站首頁,均由系統(tǒng)后臺(tái)中的“靜態(tài)生成”功能完成。</p><p>  init.php實(shí)質(zhì)就是文件admin/applications/app_init.php

50、</p><p>  robert.txt屏蔽網(wǎng)絡(luò)爬蟲搜索系統(tǒng)后臺(tái)管理頁面</p><p>  總體而言,本系統(tǒng)后臺(tái)采用的是MVC架構(gòu)實(shí)現(xiàn)了處理、表現(xiàn)、控制相分離,admin目錄下的modules為M(模型層),tpls為V(視圖層),controller為C(控制層)。而前臺(tái)則采用php生成html文件的功能,以期提高網(wǎng)頁訪問速度。</p><p><b&

51、gt;  v.系統(tǒng)實(shí)施部分</b></p><p>  1)程序框圖(對(duì)應(yīng)于系統(tǒng)分析前兩部分)</p><p><b>  前臺(tái)部分:</b></p><p>  首頁截圖(首頁各部分解釋見網(wǎng)站前臺(tái)結(jié)構(gòu))</p><p><b>  分頁截圖</b></p><p&g

52、t;<b>  后臺(tái)頁面:</b></p><p><b>  登錄界面</b></p><p>  后臺(tái)總體功能概覽,首頁添加一些會(huì)經(jīng)常用到的設(shè)置選項(xiàng)。在接下來介紹各模塊的時(shí)候,由于寫得很明顯,很容易對(duì)應(yīng)前臺(tái)頁面各部分,故在接下來的部分中不會(huì)一一介紹后臺(tái)各設(shè)置對(duì)應(yīng)前臺(tái)的位置;同樣,后臺(tái)主體部分對(duì)應(yīng)于程序相應(yīng)文件一般有3個(gè),即MVC中的三部分,對(duì)

53、應(yīng)admin目錄下的modules、tpls/admin/tpls、controller三個(gè)文件夾下的相應(yīng)文件,而且通過看文件名就知道對(duì)應(yīng)后臺(tái)相應(yīng)模塊,故在接下介紹后臺(tái)模塊時(shí),也省去此部分,僅簡(jiǎn)單介紹各模塊對(duì)應(yīng)于數(shù)據(jù)庫相應(yīng)的表。</p><p>  系統(tǒng)管理模塊:基本設(shè)置對(duì)應(yīng)數(shù)據(jù)庫表wzdq_config,計(jì)劃任務(wù)對(duì)應(yīng)數(shù)據(jù)庫表wzdq_plan,管理員日志對(duì)應(yīng)數(shù)據(jù)庫表wzdq_admin_user。</p&

54、gt;<p>  網(wǎng)址管理部分對(duì)應(yīng)首頁中所有鏈接,此為網(wǎng)址大全由來最初的想法,這部分對(duì)應(yīng)數(shù)據(jù)庫中wzdq_class,wzdq_coolclass,wzdq_coolsite,wzdq_index_tool,wzdq_mingzhan,wzdq_recycler,wzdq_site等表。</p><p>  搜索管理模塊,對(duì)應(yīng)數(shù)據(jù)庫中wzdq _seach,wzdq_searchclass,wzdq

55、_search_keyword等表</p><p>  城市導(dǎo)航模塊,對(duì)應(yīng)于數(shù)據(jù)庫中wzdq_city_class, wzdq_city_coolclass, wzdq_city_coolsite, wzdq_city_id_name, wzdq_city_mingzhan等表</p><p>  專題管理模塊,對(duì)應(yīng)數(shù)據(jù)庫中wzdq_zhuanti,wzdq_zhuanticlass,wz

56、dq_zhuantisite等表。</p><p>  廣告管理對(duì)應(yīng)數(shù)據(jù)庫表wzdq_advert,至于網(wǎng)站廣告形式多樣,而表只有一個(gè)的原因是因?yàn)閺V告形式雖多,但數(shù)量少,而區(qū)分各類廣告應(yīng)該在那部分顯示是通過表中字段varname來控制的。</p><p>  數(shù)據(jù)管理模塊就是對(duì)數(shù)據(jù)庫的操作,程序沒有針對(duì)數(shù)據(jù)庫中具體哪一個(gè)表。</p><p>  此部分也沒有對(duì)應(yīng)數(shù)據(jù)

57、庫中具體的表,僅是程序?qū)η芭_(tái)靜態(tài)文件修改,以達(dá)到不同顯示風(fēng)格效果的目的。</p><p>  靜態(tài)生成模塊,也沒有涉及數(shù)據(jù)庫中的表,而是程序?qū)ξ募牟僮髦R(shí)。</p><p>  2)源程序(在此分析幾個(gè)簡(jiǎn)單的php文件)</p><p>  1. 根目錄下的feedback反饋系統(tǒng)(頁面截圖如下)</p><p>  在feedback目錄

58、下有index.php文件和feedback文件,以及一些頁面顯示所需要的靜態(tài)網(wǎng)頁方面的素材(在images文件夾里)。Index.php文件的作用就是調(diào)用admin/tpls/tpls/main/default(green)目錄下的url_submit.tpl文件,提供頁面基本顯示作用,對(duì)于如何處理用戶提交的數(shù)據(jù),則由feedback.php文件處理,通過feedback文件設(shè)置的一系列條件,就會(huì)執(zhí)行SQL語句</p>

59、<p>  insert ('ylmf_feedback', array('username', 'email', 'content', 'add_time'), array($username, $email, $content, time())))</p><p>  feedback.php文件代碼如下:</p&

60、gt;<p><b>  <?php</b></p><p>  require '../init.php';</p><p>  /* 每個(gè) IP 每天最多提交建議次數(shù) */</p><p>  define('SUBMIT_ONE_DAY', 3);</p><p>

61、;  $error_msg = '';</p><p><b>  try</b></p><p><b>  {</b></p><p>  $username = empty($_POST['username']) ? '' : strip_tags(iconv('

62、;UTF-8', 'GBK', $_POST['username']));</p><p>  $email = (isset($_POST['email'])) ? strip_tags(iconv('UTF-8', 'GBK', $_POST['email'])) : '';</p&g

63、t;<p>  $content = (isset($_POST['content'])) ? trim(iconv('UTF-8', 'GBK', $_POST['content'])) : '';</p><p>  (empty($content)) && $error_msg .= ',意

64、見及建議 ';</p><p>  if (!empty($error_msg))</p><p><b>  {</b></p><p>  throw new Exception($error_msg, 11);</p><p><b>  }</b></p><p&

65、gt;  $content = htmlspecialchars($content, ENT_QUOTES);</p><p>  if (strlen($content) > 600 || strlen($content) < 40)</p><p><b>  {</b></p><p>  throw new Exceptio

66、n('請(qǐng)將您的描述控制在 20 - 300 字,更多內(nèi)容請(qǐng)您分次提交。', 1);</p><p><b>  }</b></p><p><b>  // 驗(yàn)證次數(shù)</b></p><p>  $old_cookie = (isset($_COOKIE['fdnum'])) ? (int

67、)$_COOKIE['fdnum'] : 0;</p><p>  if ($old_cookie >= SUBMIT_ONE_DAY)</p><p><b>  {</b></p><p>  throw new Exception('抱歉,24 小時(shí)內(nèi)您只能提交 ' . SUBMIT_ONE_DAY

68、 . ' 次反饋信息。謝謝合作!', 2);</p><p><b>  }</b></p><p>  $old_cookie++;</p><p>  if (false === app_db::insert('ylmf_feedback', array('username', 'em

69、ail', 'content', 'add_time'),</p><p>  array($username, $email, $content, time())))</p><p><b>  {</b></p><p>  throw new Exception('抱歉,信息提交失敗,請(qǐng)重試

70、。', 1);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  // 記錄提交次數(shù)</b></p><p>  if

71、($old_cookie > SUBMIT_ONE_DAY || !isset($_COOKIE['fdstime']) || $_COOKIE['fdstime'] < 1)</p><p><b>  {</b></p><p>  setcookie('dfstime', time(), time()

72、+ 86400);</p><p>  setcookie('fdnum', $old_cookie, time() + 86400);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>

73、</p><p>  setcookie('fdnum', $old_cookie, time() + 86400 - (time() - $_COOKIE['fdstime']));</p><p><b>  }</b></p><p>  throw new Exception('<div c

74、lass="success">提交成功,感謝您的反饋! <a href="'. URL .'/">返回首頁</a></div>', 3);</p><p>  unset($username, $email, $content);</p><p><b>  }</b&

75、gt;</p><p>  unset($headers, $body);</p><p><b>  }</b></p><p>  catch (Exception $e)</p><p><b>  {</b></p><p>  $error_msg = $e->

76、;getMessage();</p><p>  if (!empty($error_msg) && $e->getCode() == 11)</p><p><b>  {</b></p><p>  $error_msg = '抱歉,信息提交失敗,請(qǐng)輸入 ' . substr($error_msg, 2

77、) . '。';</p><p><b>  }</b></p><p>  $output = array(</p><p>  'code' => ($e->getCode() < 2) ? 1 : 3,</p><p>  'message' =&

78、gt; iconv('GBK', 'UTF-8', $error_msg),</p><p><b>  );</b></p><p>  header("content-type:text/html; charset=GBK");</p><p>  echo json_encode($ou

79、tput);</p><p><b>  }</b></p><p><b>  ?></b></p><p>  2. admin/modules目錄下的mod_make_html.php靜態(tài)頁面生成程序</p><p>  同feedback反饋系統(tǒng),后臺(tái)里生成靜態(tài)文件功能也有三個(gè)文件,其

80、中實(shí)現(xiàn)該功能的核心文件為admin/modules目錄下的mod_make_html.php。</p><p>  以生成靜態(tài)首頁為例,此代碼部分如下:</p><p>  public static function make_html_index()</p><p><b>  {</b></p><p><b

81、>  try</b></p><p><b>  {</b></p><p><b>  //生成普通首頁</b></p><p>  $result = self::get_html_index();</p><p>  if (empty($result))</p>

82、<p><b>  {</b></p><p>  throw new Exception('首頁生成失敗', 10);</p><p><b>  }</b></p><p><b>  // 寫文件</b></p><p>  $filenam

83、e = PATH_ROOT . '/index.htm';</p><p>  if (false == mod_file::write($filename, $result, "wb+", 0))</p><p><b>  {</b></p><p>  throw new Exception('

84、寫文件 ' . $filename . ' (首頁)失敗', 10);</p><p><b>  }</b></p><p>  @chmod($filename, 0777);</p><p>  $filename = PATH_ROOT . '/index.html';</p>&l

85、t;p>  if (false == mod_file::write($filename, $result, "wb+", 0))</p><p><b>  {</b></p><p>  throw new Exception('寫文件 ' . $filename . ' (首頁)失敗', 10);<

86、/p><p><b>  }</b></p><p>  @chmod($filename, 0777);</p><p><b>  //生成寬屏首頁</b></p><p>  $result = self::get_html_index('kp');</p><

87、p>  if (empty($result))</p><p><b>  {</b></p><p>  throw new Exception('首頁生成失敗', 10);</p><p><b>  }</b></p><p><b>  // 寫文件</

88、b></p><p>  $filename = PATH_ROOT . '/kp.htm';</p><p>  if (false == mod_file::write($filename, $result, "wb+", 0))</p><p><b>  {</b></p><

89、;p>  throw new Exception('寫文件 ' . $filename . ' (首頁)失敗', 10);</p><p><b>  }</b></p><p>  @chmod($filename, 0777);</p><p>  $filename = PATH_ROOT . 

90、9;/kp.html';</p><p>  if (false == mod_file::write($filename, $result, "wb+", 0))</p><p><b>  {</b></p><p>  throw new Exception('寫文件 ' . $filename

91、 . ' (首頁)失敗', 10);</p><p><b>  }</b></p><p>  @chmod($filename, 0777);</p><p>  //生成多個(gè)首頁,數(shù)據(jù)庫表ylmf_config的yl_mulindex字段,以|分開</p><p>  $yl_mulindex =

92、mod_config::get_one_config('yl_mulindex');</p><p>  if (!empty($yl_mulindex))</p><p><b>  {</b></p><p>  foreach (explode('|', $yl_mulindex) as $indexnam

93、e)</p><p><b>  {</b></p><p>  if (eregi("^([a-z0-9]+).htm([l]?)$", $indexname))</p><p><b>  {</b></p><p>  $filename = PATH_ROOT . 

94、9;/' . $indexname;</p><p>  if (false == mod_file::write($filename, $result, "wb+", 0))</p><p><b>  {</b></p><p>  throw new Exception('寫文件 ' . $fi

95、lename . ' (首頁)失敗', 10);</p><p><b>  }</b></p><p>  @chmod($filename, 0777);</p><p><b>  }</b></p><p><b>  }</b></p>

96、<p><b>  }</b></p><p>  return true;</p><p><b>  }</b></p><p>  catch (Exception $e)</p><p><b>  {</b></p><p>  se

97、lf::$error_message = $e->getMessage();</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  與上一部分feedback反饋系統(tǒng)不同之處在于,此部分不是php對(duì)數(shù)

98、據(jù)庫的操作,而是php對(duì)文件的操作。如對(duì)網(wǎng)站首頁生成的過程中,該php文件先判斷在根目錄下是否存在文件index.html/index.htm/kp.html/kp.htm,如果不存在則生成該文件名的文件,然后調(diào)用函數(shù)get_html_index ($type = '') 向這四個(gè)文件寫入相應(yīng)的代碼,代碼大致內(nèi)容就是在該文件相應(yīng)位置寫入相應(yīng)顯示的內(nèi)容。</p><p>  3. 根目錄下的sear

99、ch.php站內(nèi)搜索</p><p>  在數(shù)據(jù)庫分析的過程中,我們已經(jīng)說明了會(huì)為站內(nèi)搜索功能單獨(dú)建立一張表名為wzdq_site_search的表,所以在此我們需要先建立程序與數(shù)據(jù)庫之間的聯(lián)系,在此我們只需要引入根目錄下的init.php即可,因?yàn)閕nit.php文件實(shí)質(zhì)就是admin/application/app_init.php文件,app_init.php文件中又引用了app_db.php,該文件的作用

100、就是操作數(shù)據(jù)庫的,其中有一個(gè)叫init_mysql的類的作用就是連接數(shù)據(jù)庫,其具體內(nèi)容如下:</p><p>  protected static function init_mysql ($is_read = true, $is_master = false)</p><p><b>  {</b></p><p>  $link = 

101、9;link_read';</p><p>  if (empty(self::$$link))</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  //

102、$link = 'link_read';</p><p>  $host = $GLOBALS['database']['db_host'];</p><p>  self::$$link = @mysql_pconnect($host, $GLOBALS['database']['db_user'], $GL

103、OBALS['database']['db_pass']);</p><p>  if (empty(self::$$link))</p><p><b>  {</b></p><p>  throw new Exception(mysql_error(), 10);</p><p>&

104、lt;b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if (mysql_get_server_info() > '4.1')</p><p><b>  {</b&

105、gt;</p><p>  $charset = str_replace('-', '', strtolower($GLOBALS['database']['db_charset']));</p><p>  mysql_query("SET character_set_connection=" .<

106、/p><p>  $charset . ", character_set_results=" . $charset . ", character_set_client=binary");</p><p><b>  }</b></p><p>  if (mysql_get_server_info() >

107、; '5.0')</p><p><b>  {</b></p><p>  mysql_query("SET sql_mode=''");</p><p><b>  }</b></p><p>  if (@mysql_select_db($G

108、LOBALS['database']['db_name']) === false)</p><p><b>  {</b></p><p>  throw new Exception(mysql_error(), 11);</p><p><b>  }</b></p><

109、;p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exception $e)</p><p><b>  {</b></p><p>  if (!defined('DEBUG_LEVEL') || !

110、DEBUG_LEVEL)</p><p><b>  {</b></p><p>  if ($e->getCode() == 10)</p><p><b>  {</b></p><p>  echo '數(shù)據(jù)庫連接失敗,可能是數(shù)據(jù)庫服務(wù)器地址、賬號(hào)或密碼錯(cuò)誤';</p

111、><p><b>  }</b></p><p>  elseif($e->getCode() == 11)</p><p><b>  {</b></p><p>  echo '數(shù)據(jù)庫' . $GLOBALS['database']['db_name&#

112、39;] . '不存在';</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  echo 'Can\'t connect to MySQL server

113、';</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  echo $e->getM

114、essage(), '<br/>', '<pre>', $e->getTraceAsString(), '</pre>';</p><p><b>  }</b></p><p>  self::log($e->getMessage(),'初始化');<

115、;/p><p><b>  exit;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return self::$$link;</p><p>  經(jīng)過此步驟,與數(shù)據(jù)庫連接上之后,就是將搜索的范圍

116、確定到數(shù)據(jù)庫中具體的表中的了,在此我們選擇搜索的表為wzdq_site_search表,為了保險(xiǎn)起見,先判斷有無此表,如果沒有先創(chuàng)建該表,以免在沒有搜索到相關(guān)內(nèi)容時(shí)無內(nèi)容提醒,然后就是動(dòng)態(tài)獲取用戶在搜索框中輸入的內(nèi)容,利用SQL查數(shù)據(jù)庫表中的字段,進(jìn)行匹配,并將其輸出,具體代碼如下:</p><p>  if( !file_exists($lock_data) || date('Ymd', tim

117、e()) > date('Ymd', filemtime($lock_data)) )</p><p><b>  {</b></p><p>  //函數(shù)設(shè)置與客戶機(jī)斷開是否會(huì)終止腳本的執(zhí)行,true:則忽略與用戶的斷開,false:會(huì)導(dǎo)致腳本停止運(yùn)行,未設(shè)置該參數(shù),直接返回當(dāng)前的設(shè)置</p><p>  ignore_

118、user_abort(true);</p><p>  set_time_limit(3600);</p><p>  file_put_contents($update_lock_file, time());</p><p>  $create_info = 'CREATE TABLE IF NOT EXISTS `wzdq_site_search` (&

119、lt;/p><p>  `id` int(11) NOT NULL,</p><p>  `displayorder` INT NOT NULL ,</p><p>  `pinyin` VARCHAR( 255 ) NOT NULL ,</p><p>  `name` VARCHAR( 255 ) NOT NULL ,</p>

120、<p>  `url` VARCHAR( 255 ) NOT NULL ,</p><p>  PRIMARY KEY (`id`),</p><p>  KEY `displayorder` (`displayorder`)</p><p>  ) ENGINE = MYISAM CHARACTER SET gbk COLLATE gbk_chines

121、e_ci;</p><p><b>  ';</b></p><p>  app_db::query( $create_info );</p><p>  app_db::query( ' TRUNCATE TABLE `wzdq_site_search` ' );</p><p>  $sql

122、 = "SELECT `id`, `displayorder`, `name`, `url` FROM `wzdq_site` order by `displayorder` ";</p><p>  app_db::query($sql);</p><p>  $list = app_db::fetch_all();</p><p>  for

123、each ($list as $row)</p><p><b>  {</b></p><p>  if($row['name'] === 'NULL')</p><p><b>  {</b></p><p><b>  continue;</b&

124、gt;</p><p><b>  }</b></p><p>  //漢字轉(zhuǎn)拼音似乎出問題了,先轉(zhuǎn)utf-8吧,然后在用utf-8的調(diào)用參數(shù)</p><p>  $name = iconv('gbk', 'utf-8', $row['name']);</p><p>  

125、$pys = mod_pinyin::get($name, 'utf-8');</p><p>  $pinyin = $pys['py'].' '.$pys['pinyin'];</p><p>  $name = addslashes( $row['name'] );</p><p>

126、;  $url = addslashes( $row['url'] );</p><p>  app_db::query(" Insert into `wzdq_site_search`(`id`, `displayorder`, `pinyin`, `name`, `url`) Values('{$row['id']}', '{$row[

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論