A基于PHP實現(xiàn)的WEB圖片共享系統(tǒng)_第1頁
A基于PHP實現(xiàn)的WEB圖片共享系統(tǒng)_第2頁
A基于PHP實現(xiàn)的WEB圖片共享系統(tǒng)_第3頁
A基于PHP實現(xiàn)的WEB圖片共享系統(tǒng)_第4頁
A基于PHP實現(xiàn)的WEB圖片共享系統(tǒng)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 0 頁 共 36 頁基于基于 phpphp 實現(xiàn)的實現(xiàn)的 webweb 圖片共享系統(tǒng)圖片共享系統(tǒng)摘摘 要要本系統(tǒng)主要從現(xiàn)代社會電腦化觀念出發(fā),通過對現(xiàn)有資料的分析、研究和整理,確定了在基于現(xiàn)存的 web2.0 模式下開發(fā)圖片共享系統(tǒng)的可行性、緊迫性和必要性。在現(xiàn)階段,國內(nèi)基于 web2.0 的圖片共享系統(tǒng)才剛起步,該市場還有很大的介入空間。其中,在國外,已經(jīng)有了很成熟的圖片共享平臺。在 web2.0 時代,信息由以前的服務(wù)器發(fā)布變成了用戶發(fā)布。也就是從以前的通過服務(wù)器搜集資源并且發(fā)布變成了通過用戶提供資源,服務(wù)器進(jìn)行整理,分類,發(fā)布的模式。而且這種模式對于一個網(wǎng)站的用戶吸引度也遠(yuǎn)遠(yuǎn)高于傳統(tǒng)

2、模式。本論文旨在詳細(xì)說明如何在基于 php 以及 ajax 框架的環(huán)境下,使用 mvc 的開發(fā)模式,完成一個具有完整功能的圖片上傳以及圖片管理系統(tǒng),并能夠?qū)崿F(xiàn)方便的添加,刪除圖片以及分類,后臺主要實現(xiàn)對用戶以及用戶的圖片進(jìn)行管理;能實現(xiàn)相關(guān)個人的設(shè)置更改。并且系統(tǒng)中對于圖片上傳需要有比較直觀的進(jìn)度顯示,圖片的呈現(xiàn)使用比較友善的顯示效果。關(guān)鍵詞關(guān)鍵詞:模型-視圖-控制器;圖片共享;ajax第 1 頁 共 36 頁a picture share system based on phpabstractthis system mainly embarks from the modern society

3、 computerization. based on existence information analysis, the research and the reorganization, we considered the pressing and the necessity of implementing order form developing picture share system base on web2.0.at the present stage, the domestic picture share system based on web2.0 is just under

4、way. there is expansive to take part in this field, at the same time, mature picture share system aboard is already exist for a long time. in web2.0 period, the style of information publishing turned from server publishing to user publishing .in another word, it is changed from server publishing inf

5、ormation to user providing information, and in this case, servers only need to coordinating, sorting and republishing. furthermore, in this model, a website is much friendlier to user.this thesis mainly describes how to developing fully functional pictures upload and picture management system. this

6、system can easy to add, delete pictures and categories. in the backstage management, is mainly to implementing user and pictures management and user information changing. in this system, picture uploading is intuitionisticly showing, and the picture is need to be shown user friendly.key words: mvc;

7、picture share; ajax第 2 頁 共 36 頁目目 錄錄論文總頁數(shù):36 頁1引言 .12系統(tǒng)概述 .13總體設(shè)計 .23.1系統(tǒng)需求分析 .23.1.1圖片上傳需要支持的方式.23.1.2用戶上傳圖片需要支持的格式.23.1.3分類.23.1.4圖片管理.23.1.5圖片展現(xiàn).33.1.6查詢功能.33.1.7用戶管理.33.2總體結(jié)構(gòu) .33.3圖片共享系統(tǒng)流程 .33.4圖片共享系統(tǒng)模塊功能介紹 .53.4.1用戶界面子模塊劃分.53.4.2管理后臺子模塊劃分.74方案選擇 .84.1方案比較 .84.1.1系統(tǒng)模式比較.84.1.2程序語言比較.84.2方案選擇 .94

8、.3系統(tǒng)技術(shù)平臺 .94.4開發(fā)環(huán)境搭建 .95實現(xiàn)技術(shù)與數(shù)據(jù)結(jié)構(gòu) .125.1系統(tǒng)架構(gòu)設(shè)計 .125.1.1網(wǎng)絡(luò)架構(gòu).125.1.2系統(tǒng)邏輯服務(wù)器.125.2系統(tǒng)處理流程 .135.2.1基于 mvc 的 smartemplate 架構(gòu) .135.2.2smarttemplate 技術(shù)概述.145.2.3smarttemplate 與 html 模版之間的關(guān)系 .15第 3 頁 共 36 頁5.3數(shù)據(jù)庫設(shè)計 .185.3.1前臺用戶主要數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計.215.3.2管理后臺數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計.226特殊問題解決辦法 .246.1亂碼問題 .246.2動態(tài)顯示上傳進(jìn)度 .246.3圖片隨意批量

9、上傳問題 .257結(jié)果測試、性能分析 .297.1運行模塊組合 .297.2系統(tǒng)登陸界面 .297.3模塊應(yīng)用舉例 .307.4系統(tǒng)現(xiàn)存問題 .337.4.1批量上傳連接的 url 參數(shù)泄漏.337.4.2批量上傳頁面源代碼中回調(diào)腳本泄漏用戶 id .337.4.3無法正常返回.337.5改進(jìn)意見 .34結(jié) 論.34參考文獻(xiàn).34致 謝.35聲 明.361 1引言引言隨著前段時間 web2.0 的熱潮,整個 bs 開發(fā)方向和 web 的運營模式漸漸開始向另一個方向轉(zhuǎn)變。隨著 ajax 的重新使用,大大提高了用戶的 web 體驗。其頁面局部刷新的方式在很大程度上減少了用戶訪問頁面時所花的時間。并

10、且讓用戶在提高體驗的同時,也能夠參與的內(nèi)容的提供者里面來。在傳統(tǒng)的 web 系統(tǒng)中,都是有某個網(wǎng)站的管理員,或者類似的人去收集網(wǎng)站所需要的資源,并且將這些資源發(fā)布出去,但是隨著 web2.0 的興起,分享和體驗逐漸占據(jù)了網(wǎng)站發(fā)展的重要的位置。于是,網(wǎng)站從以前的集中發(fā)布式,漸漸的轉(zhuǎn)變成了用戶提供資源,網(wǎng)站整理發(fā)布的模式。其中最為常見的就是 blog,wiki 這些形勢。其中圖片共享是很有發(fā)展?jié)摿Φ囊粋€方向。首先,中國擁有數(shù)碼相機(jī)的人群正在以一個穩(wěn)定的數(shù)值在不斷增長,但是,目前沒有多少網(wǎng)站注意到了這片市場的潛力。當(dāng)用戶拍了照片后,他們會找一個可以方便的共享自己所拍的照片的地方。但是,現(xiàn)在傳統(tǒng)的網(wǎng)站

11、,要么操作太復(fù)雜,要么就是不方便共享,比如第 4 頁 共 36 頁163,不支持外部連接圖片,雖然這樣做的確可以明顯的降低服務(wù)器的負(fù)擔(dān),但是對用戶體驗卻大大折扣。試想,當(dāng)一個用戶想直接給朋友看他某個相冊里面的某一張圖片的時候,他還必須將自己的相冊連接給對方,然后對方還要在相冊里面找到那張圖片后才能查看。而且 163 上的圖片沒有專門針對數(shù)碼照片的整理和分類,也就是說多而不精。導(dǎo)致資源無法有效利用。國內(nèi)目前在這方面興起的網(wǎng)站還不多,國外也有比較出名的,例如:flikre:,巴巴變: 等。其中巴巴變基本仿照 flikre 改版過來。就目前看來,該市場還有比較大的介入空間。就目前看來,圖片共享系統(tǒng)現(xiàn)

12、在需要解決的問題主要是如何更快的讓用戶上傳圖片。如何以更快的形式顯示圖片。其中,影響到系統(tǒng)開發(fā)的主要有以下問題:1、市場競爭,2、軟件的可用性,穩(wěn)定性,3、時間限制。由于目前已經(jīng)有部分市場被前期對手搶占,所以需要在盡可能短的時間內(nèi)開發(fā)出一個可用的網(wǎng)站系統(tǒng)。該系統(tǒng)初步分為兩個部分,一個是作為 web 界面的 web 端,還有一個部分是用來通過 c/s 模式遠(yuǎn)程上傳本地圖片的客戶端工具。2 2系統(tǒng)概述系統(tǒng)概述在對于由經(jīng)用戶提交的的方式來實現(xiàn)圖片共享,首要就是提高用戶上傳效率,以及用戶上傳體驗和用戶的瀏覽是否方便。一般的圖片共享網(wǎng)站都是通過很單一的上傳頁面對文件進(jìn)行上傳,并且展現(xiàn)形式單一化,不方便用

13、戶使用和查看。在 web2.0 下,誕生了大批用于增強(qiáng)用戶體驗的控件,使得圖片共享比傳統(tǒng)的形式更加的美觀以及人性化。而且除了需要良好的用戶體驗外,還需要良好的系統(tǒng)支持。不僅僅是程序,而是隨著用戶需求可以不斷拓展的業(yè)務(wù)平臺,以及發(fā)展流程。本畢業(yè)設(shè)計就是根據(jù)目前 web2.0 的需求和特點有針對的利用現(xiàn)在比較成熟的框架所編寫。應(yīng)用 web2.0 中已經(jīng)成熟的框架接口可以大大加快目前高可用性應(yīng)用的開發(fā)以及設(shè)計。并且能夠從用戶角度來設(shè)計一個應(yīng)用。大大減輕了設(shè)計的壓力以及風(fēng)險。該系統(tǒng)能夠通過多種方式來對用戶的圖片進(jìn)行上傳以及管理。并且使用了現(xiàn)在比較流行的視覺框架來實現(xiàn)圖片的呈現(xiàn),大大改進(jìn)了用戶體驗。3

14、3總體設(shè)計總體設(shè)計3.13.1 系統(tǒng)系統(tǒng)需求分析需求分析圖片共享,有三個方面需要考慮:一,用戶應(yīng)該以什么方式上傳圖片;二,用戶可以上傳的圖片有哪些類型;三,應(yīng)該以什么方式展示這些圖片。另外,還應(yīng)該實現(xiàn)對圖片的簡單整理以及統(tǒng)計。因此,將上傳圖片的用戶和瀏覽圖片的用戶作為系統(tǒng)服務(wù)的主要目標(biāo),對系統(tǒng)的功能提出了如下需求:第 5 頁 共 36 頁.1圖片上傳需要支持的方式圖片上傳需要支持的方式圖片上傳應(yīng)該支持目前使用最多的頁面表單方式。并且可以對其進(jìn)行簡單的處理。除此之外,最好還要支持客戶端方式。并且需要實現(xiàn)在用戶不安裝客戶端的情況下,在 web 上實現(xiàn)批量上傳圖片。.

15、2用戶上傳圖片需要支持的格式用戶上傳圖片需要支持的格式一種是 jpeg 一種是 png,現(xiàn)在大多數(shù)的數(shù)碼相機(jī)都是使用 jpeg 格式保存圖片,但是考慮到版權(quán)問題,也應(yīng)提供 png 格式圖片的支持。.3分類分類圖片上傳后,根據(jù)圖片的標(biāo)簽以及圖片所在任務(wù)自動將圖片按照標(biāo)簽以及任務(wù)進(jìn)行分類.4圖片管理圖片管理 圖片管理應(yīng)該包括的基本內(nèi)容:圖片的刪除,圖片的添加,圖片分類的添加以及刪除,圖片任務(wù)的添加以及刪除,圖片標(biāo)簽的添加以及刪除。同時,在圖片管理中,用戶能夠以比較直觀的方式查看自己上傳的圖片。.5圖片展現(xiàn)圖片展現(xiàn)應(yīng)該能夠很直觀的展示給最終用戶進(jìn)行查看

16、。.6查詢功能查詢功能用戶需要了解自己的分類下的圖片總量以及任務(wù)下的圖片情況,又因為用戶可能需要根據(jù)不同的情況下,對自己的分類,任務(wù)下的圖片情況做統(tǒng)計,因此該系統(tǒng)還應(yīng)具有分類,任務(wù),標(biāo)簽的多條件組合查詢功能。.7由于該系統(tǒng)為多用戶系統(tǒng),系統(tǒng)后臺還應(yīng)該具有用戶管理功能由于該系統(tǒng)為多用戶系統(tǒng),系統(tǒng)后臺還應(yīng)該具有用戶管理功能用戶管理包括的功能如下:用戶的添加,刪除,查詢。以及對用戶圖片的查看,刪除;對用戶的分類的查看,刪除;對用戶標(biāo)簽的查看,刪除。3.23.2總體結(jié)構(gòu)總體結(jié)構(gòu)圖片共享系統(tǒng)主要功能模塊結(jié)構(gòu)示意圖如下:第 6 頁 共 36 頁圖圖片片共共享享系系統(tǒng)統(tǒng)用用戶

17、戶界界面面后后臺臺管管理理用用戶戶前前臺臺圖圖片片處處理理用用戶戶登登錄錄驗驗證證用用戶戶圖圖片片上上傳傳用用戶戶圖圖片片預(yù)預(yù)覽覽用用戶戶后后臺臺管管理理用用戶戶管管理理管管理理員員管管理理用用戶戶信信息息管管理理用用戶戶圖圖片片標(biāo)標(biāo)簽簽管管理理用用戶戶圖圖片片任任務(wù)務(wù)管管理理用用戶戶添添加加用用戶戶信信息息修修改改用用戶戶圖圖片片管管理理用用戶戶搜搜索索后后臺臺用用戶戶添添加加后后臺臺用用戶戶修修改改后后臺臺用用戶戶刪刪除除后后臺臺用用戶戶權(quán)權(quán)限限分分派派圖 3-1 圖片共享系統(tǒng)功能模塊圖圖片共享系統(tǒng)包括兩大部分:用戶界面和后臺管理,其中用戶界面為用戶可視并且可使用的功能,后臺管理為管理員所

18、能使用的功能。3.33.3圖片共享系統(tǒng)流程圖片共享系統(tǒng)流程 圖片共享系統(tǒng)流程設(shè)計思想如下:1. 用戶(這里主要指直接使用本系統(tǒng)的最終用戶,不包括后臺具有管理功能的用戶)根據(jù)自己的圖片格式,選擇合適的圖片上傳到本系統(tǒng)的處理端。2. 系統(tǒng)在接到用戶上傳的圖片后,應(yīng)根據(jù)系統(tǒng)當(dāng)前所允許上傳的圖片的類型判斷用戶所上傳的文件是否符合系統(tǒng)的要求,確定用戶為上傳圖片所分配的標(biāo)簽,依據(jù)上傳圖片的設(shè)置對圖片進(jìn)行分類以及更改格式,此時的圖片并非最后存儲在系統(tǒng)中的圖片,該圖片在經(jīng)過裁減以及根據(jù)系統(tǒng)設(shè)定更改后的格式進(jìn)行存儲。 (這樣做,是為了統(tǒng)一圖片的格式,便于輸出的處理以及圖片入庫時統(tǒng)一處理接口。 )3. 圖片添加成

19、功后,將上傳的圖片直接緩存到用戶所在的文件夾下,按照上傳日期排列,并且同時在數(shù)據(jù)庫中保存圖片的副本。4. 圖片在存儲后,同時在前臺顯示已經(jīng)上傳的圖片,并且將圖片添加到所設(shè)定的標(biāo)簽下,并且按照任務(wù)對圖片進(jìn)行分批顯示。5. 用戶在用戶管理臺里面可以對當(dāng)前所有圖片進(jìn)行管理,用戶刪除圖片時,可以按照單個圖片,分類,標(biāo)簽,以及任務(wù)對圖片進(jìn)行刪除操作。6. 已經(jīng)上傳的圖片,可以通過用戶查看圖片的連接直接提供給第三方用戶進(jìn)行查看?;蛘咧苯油ㄟ^系統(tǒng)生成的連接發(fā)送給第三方用戶進(jìn)行查看。7. 后臺管理員可以通過系統(tǒng)提供的功能直接對管理用戶進(jìn)行添加以及更改。當(dāng)需要具體賦予用戶某個功能時,可以通過更改后臺用戶的細(xì)節(jié)設(shè)

20、定來更改用第 7 頁 共 36 頁戶權(quán)限。8. 管理員在需要刪除某個用戶的上傳圖片時,也可通過統(tǒng)一的圖片管理接口對用戶的圖片,分類,標(biāo)簽以及任務(wù)進(jìn)行刪除。 圖片共享系統(tǒng)流程圖如下:圖 3-2 圖片共享系統(tǒng)流程圖3.43.4圖片共享系統(tǒng)模塊功能介紹圖片共享系統(tǒng)模塊功能介紹圖片共享系統(tǒng),主要完成圖片的添加,刪除以及圖片標(biāo)簽的添加,刪除功能。以及對多用戶的管理以及在后臺對用戶的圖片進(jìn)行管理。以下是子模塊劃分以及各模塊的功能介紹。第 8 頁 共 36 頁.1用戶界面子模塊劃分用戶界面子模塊劃分圖 3-3 用戶界面子模塊結(jié)構(gòu)圖用戶界面子模塊 密碼修改密碼修改,作為用戶界面子模塊的一部分,

21、主要完成用戶密碼修改的工作。執(zhí)行流程是:用戶在登陸到主界面后,點擊導(dǎo)航欄上的密碼修改,轉(zhuǎn)向到修改用戶密碼的界面。在輸入當(dāng)前使用密碼以及修改的密碼并且重復(fù)輸入一次修改的密碼,最后填入該操作的驗證碼(為了方便用戶,驗證碼已經(jīng)由后臺自動填入) 。當(dāng)以上操作完成后,用戶點擊提交以對密碼進(jìn)行修改。在用戶提交修改內(nèi)容時,頁面內(nèi)的代碼首先檢測用戶兩次修改的密碼是否一致。如果不一致,將提示用戶密碼不一致。當(dāng)該檢查通過后,信息提交到后臺系統(tǒng)。后臺系統(tǒng)首先判斷驗證碼是否相同,如果相同,將比較用戶輸入的當(dāng)前密碼散列是否和數(shù)據(jù)庫中的密碼散列一致。當(dāng)兩個散列一致時,后臺系統(tǒng)將修改用戶當(dāng)前的密碼為用戶修改后的密碼。如果用

22、戶沒有輸入驗證碼或者驗證碼出錯,當(dāng)前用戶密碼散列無法和數(shù)據(jù)庫中的密碼散列對應(yīng),系統(tǒng)將給出對應(yīng)的出錯提示。并要求用戶重新填寫。用戶界面子模塊 上傳圖片上傳圖片,在用戶登陸系統(tǒng)后,點擊導(dǎo)航欄上的上傳圖片,進(jìn)入上傳圖片功能頁面。此時,用戶可以根據(jù)自己的需要選擇單個圖片進(jìn)行上傳或者直接批量上傳多個圖片。)對單個頁面進(jìn)行上傳:這種上傳需要用戶自己過濾不符合系統(tǒng)需求的圖片,當(dāng)前系統(tǒng)只支持 jpeg 以及 png。如果圖片格式不符合要求,系統(tǒng)將給出出錯提示。當(dāng)用戶所選擇的圖片格式無誤,并點擊“開始上傳” ,此時,系統(tǒng)會彈出一個設(shè)置圖片信息的對話框,需要用戶選擇該圖片的類型,以及設(shè)置該圖片的標(biāo)簽還有該圖片的名

23、稱等信息。當(dāng)一切設(shè)置完畢后,點擊“提交上傳” ,用戶圖片開始上傳到系統(tǒng)中。)直接批量上傳多個圖片:用戶點擊“批量上傳”標(biāo)簽,系統(tǒng)提示該功能需要 java 運行時支持,確認(rèn)后,進(jìn)第 9 頁 共 36 頁入批量圖片信息設(shè)定頁面,該頁面用于設(shè)置接下來所上傳的圖片的名稱,描述,分類,標(biāo)簽等信息。接下來將轉(zhuǎn)入批量上傳界面。具體的操作步驟說明在批量上傳頁面中有詳細(xì)的說明。用戶界面子模塊 管理圖片管理圖片,在用戶登陸系統(tǒng)后,點擊導(dǎo)航欄上的上傳圖片,進(jìn)入圖片管理頁面。該頁面分為上中下 3 個部分,分別為用戶圖片按照任務(wù),分類,標(biāo)簽進(jìn)行分類后的圖片列表。在這個列表里,用戶可以對圖片按照任務(wù),分類,或者標(biāo)簽等批量

24、對圖片進(jìn)行操作。同時,在該功能頁面中,也可以對分類,任務(wù),標(biāo)簽進(jìn)行刪除操作。.2管理后臺子模塊劃分管理后臺子模塊劃分圖 3-4 管理后臺子模塊結(jié)構(gòu)圖管理后臺子模塊 系統(tǒng)管理系統(tǒng)管理作為后臺管理的一個重要部分,主要是用于設(shè)置當(dāng)前系統(tǒng)的環(huán)境變量,以及一些說明性的信息。主要是由后臺管理員對系統(tǒng)進(jìn)行維護(hù)以及系統(tǒng)初始化的時候確定這些設(shè)置。在設(shè)置完成后,如果不是系統(tǒng)性能問題或者系統(tǒng)遷移,均可以保持設(shè)定的信息。這個功能為系統(tǒng)提供了比較方便的擴(kuò)展系統(tǒng)環(huán)境變量的方法。便于后期對系統(tǒng)的常規(guī)設(shè)定的修改以及方便系統(tǒng)的簡單遷移,例如系統(tǒng)更換域名或者更改其他系統(tǒng)環(huán)境信息。系統(tǒng)信息表中記錄了系統(tǒng)的每個設(shè)定,

25、對該模塊進(jìn)行修改最后將反饋到系第 10 頁 共 36 頁統(tǒng)信息表中。管理后臺子模塊 管理員管理管理員管理,主要是用于設(shè)置能夠?qū)Ξ?dāng)前系統(tǒng)后臺的功能進(jìn)行操作的用戶,以及設(shè)置這些用戶可以使用后臺哪些功能。該功能使得后臺管理更為靈活,可以方便的進(jìn)行權(quán)限托管。并且可以設(shè)置對某個功能專門進(jìn)行操作的管理人員,簡化了管理的復(fù)雜程度。這個功能為系統(tǒng)提供了比較方便的擴(kuò)展系統(tǒng)管理團(tuán)隊的方法。以便于在中后期對某個功能管理達(dá)到一定要求時可以對該功能賦予專用人員。同時,該模塊也提供了修改管理員信息的功能。可以方便的使該管理員在各個功能之間實現(xiàn)切換以及更改現(xiàn)有權(quán)限。管理后臺子模塊 用戶管理用戶管理用于管理當(dāng)前系統(tǒng)中已經(jīng)正常

26、注冊并且使用本系統(tǒng)的圖片共享功能的用戶。用戶要注冊該系統(tǒng),除了可以在前臺提供的注冊頁面注冊外,也可以由具有用戶管理權(quán)限的后臺管理員在后臺進(jìn)行添加。除了用戶能在自己的管理面板修改自己的信息之外,管理員可以通過該模塊的用戶編輯功能對用戶信息進(jìn)行修改。同時,可以通過搜索功能來定位特定用戶名的用戶,便于更快的找到需要操作的用戶。管理后臺子模塊 圖片管理圖片管理用于管理當(dāng)前系統(tǒng)中已經(jīng)正常注冊并且使用本系統(tǒng)的圖片共享功能的用戶所上傳的圖片。在該模塊中,后臺管理員可以根據(jù)單個用戶對該用戶所上傳的圖片進(jìn)行管理。管理用戶圖片的界面和用戶前臺的管理界面相同。另外,和用戶管理一樣,后臺管理員也可以通過搜索特定的用戶

27、名來快速定位到某個用戶,并且對他所上傳的圖片進(jìn)行管理。在用戶上傳圖片的過程中,有可能由于用戶的誤操作導(dǎo)致用戶所上傳的圖片沒有分類或者沒有標(biāo)簽,這種情況下,管理員可以使用圖片清理功能將這些圖片清理掉。避免冗余以及錯誤數(shù)據(jù)導(dǎo)致的系統(tǒng)不穩(wěn)定或者統(tǒng)計數(shù)據(jù)出錯。4 4方案選擇方案選擇4.14.1方案比較方案比較.1系統(tǒng)模式比較系統(tǒng)模式比較目前開發(fā)模式主要有 c/s 結(jié)構(gòu)和 b/s 結(jié)構(gòu):c/s 結(jié)構(gòu),即 client/server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到 client 端和 server 端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境

28、的優(yōu)勢。 第 11 頁 共 36 頁b/s 結(jié)構(gòu),即 browser/server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著 internet 技術(shù)的興起,對 c/s 結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過 www 瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn)。b/s 結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實現(xiàn)原來需要復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。.2程序語言比較程序語言比較目前流行的程序開發(fā)語言主要有 asp 和 jsp 和 php:asp 全名 active server pages,是一個 w

29、eb 服務(wù)器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動態(tài)的、互動的、高性能的 web 服務(wù)應(yīng)用程序。asp 采用腳本語言 vbscript(java script)作為自己的開發(fā)語言。 jsp 是 sun 公司推出的新一代網(wǎng)站開發(fā)語言,java server page。jsp 可以在 serverlet 和 javabean 的支持下,完成功能強(qiáng)大的站點程序。 php,即“php: hypertext preprocessor” ,是一種被廣泛使用的開放源代碼多用途腳本語言,尤其適用于 web 開發(fā)并可以嵌入到 html 中去。三者都提供在 html 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代

30、碼的能力。但 jsp 代碼被編譯成 servlet 并由 java 虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在對 jsp 頁面的第一次請求時發(fā)生。在 php、asp 、jsp 環(huán)境下,html 代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 html 頁面只依賴于 web 服務(wù)器,而 php、asp 、jsp 頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到 html 代碼中,然后一起發(fā)送給瀏覽器。php、asp 、jsp 兩者都是面向 web 服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。然而,相較與 asp , jsp,php 有其便于部署,可快速

31、開發(fā)并且使用靈活等特點。比較適合于做中小型系統(tǒng)的快速開發(fā),同等相較于 jsp,php 由于沒有那么復(fù)雜的處理,所以在一定程度上執(zhí)行速度優(yōu)于 jsp。4.24.2方案選擇方案選擇綜上所述,本系統(tǒng)開發(fā)選擇方案如下:本圖片共享系統(tǒng)采用 php、javascript 作為主要程序開發(fā)語言,采用smarttemplate + 獨立后臺管理模版的構(gòu)架, mysql 數(shù)據(jù)庫。采用 b/s 結(jié)構(gòu)。系統(tǒng)界面美觀內(nèi)容豐富,很好的實現(xiàn)了與用戶的交互。4.34.3系統(tǒng)技術(shù)平臺系統(tǒng)技術(shù)平臺開發(fā)環(huán)境:windowsserver2003 datacenter edition sp1、mysql 4.2、apache2;第

32、12 頁 共 36 頁開發(fā)工具:zendstudio、 dreamweavermx、photoshop、記事本;系統(tǒng)構(gòu)架:php+smarttemplate+javascript+mysql4.2;開發(fā)語言:php5。4.44.4開發(fā)環(huán)境搭建開發(fā)環(huán)境搭建配置 php 5將從網(wǎng)絡(luò)上下載下來的文件解包,然后需要以下操作:打開 php.ini 文件,修改以下內(nèi)容:max_execution_time = 600;max_input_time = 600;memory_limit = 16mpost_max_size = 20mfile_uploads = onupload_max_filesize

33、= 20mdefault_socket_timeout = 60以上選項避免由于用戶上傳過大的圖片導(dǎo)致 php 處理超時。register_globals = offmagic_quotes_gpc = on以上選項為防止用戶惡意提交。extension_dir = d:phpphpext以上選項用于設(shè)定 php 的擴(kuò)展所在文件夾。extension=php_mbstring.dll該擴(kuò)展用于支持長字符集extension=php_exif.dll該擴(kuò)展用于支持 php 讀取圖片的 exif 信息。extension=php_gd2.dll該擴(kuò)展用于 php 對圖片的操作以及驗證碼的生成操作。

34、extension=php_mysql.dllextension=php_mysqli.dll 以上兩項用于 php 對 mysql 的支持extension=php_sockets.dll該擴(kuò)展用于 php 對 socket 的支持,主要用于支持上傳時顯示上傳進(jìn)度的upu 庫apache 2.0將從網(wǎng)絡(luò)上下載下來的文件解包,然后需要以下操作:1)修改 apache 的配置文件:第 13 頁 共 36 頁進(jìn)入到解包根目錄下的 conf 目錄。打開 httpd.conf 文件,修改以下內(nèi)容:設(shè)置執(zhí)行超時:timeout 300設(shè)置監(jiān)聽 80 端口:listen 80開啟 apache 對 php

35、 的支持:loadmodule php5_module d:/php/php/php5apache2.dll開啟 url 重寫功能:loadmodule rewrite_module modules/mod_rewrite.so設(shè)定 web 服務(wù)的根目錄:documentroot e:web設(shè)置 url 重寫所生效的范圍:options followsymlinksallowoverride all設(shè)置中文支持:addlanguage zh-cn .zh-cnaddlanguage zh-tw .zh-twaddlanguage zh-cn .cn設(shè)置默認(rèn)語言adddefaultcharset

36、 gb2312設(shè)置默認(rèn)索引頁:directoryindex index.html index.html.var index.htm index.php設(shè)置 apache 對 php 文件進(jìn)行解析:addtype application/x-httpd-php .php2)將 apache 安裝為服務(wù):進(jìn)入命令行,轉(zhuǎn)到 apache 文件夾下的 bin 文件夾,執(zhí)行以下命令:apache -k install3)啟動 apache 服務(wù)器執(zhí)行以下命令:net start apache2mysql 安裝1)將從網(wǎng)上下載的 mysql 解包,然后修改其配置文件如下:default-character

37、-set=utf8/由于整個系統(tǒng)均使用 utf-8,故數(shù)據(jù)庫也統(tǒng)一文字編碼key_buffer_size=20m第 14 頁 共 36 頁max_allowed_packet=15m/以上設(shè)置用于處理將圖片存入數(shù)據(jù)庫的大量信息數(shù)據(jù)。2)運行 mysqlinstanceconfig.exe 對 mysql 進(jìn)行初始化設(shè)置。3)安裝 mysql 服務(wù)執(zhí)行 mysql d-nt.exe install 將 mysql 進(jìn)程作為系統(tǒng)服務(wù)運行。4)使用 mysqladmin 對 mysql 的管理員進(jìn)行管理phpmyadmin 配置找到 phpmysdmin 的配置文件,修改以下地方。$cfgserve

38、rs$ihost = localhost;/設(shè)置為本機(jī)(只做調(diào)試用)$cfgservers$iport = 3306;/mysql 的端口$cfgservers$iconnect_type = tcp;/設(shè)置與 mysql 連接的方式 $cfgservers$icompress = false;/使用壓縮協(xié)議進(jìn)行傳輸 $cfgservers$iauth_type = config;/如果 php 安裝模式為 apache,可以使用 http 和 cookie;如果 php 安裝模式為 cgi,可以使用cookie;默認(rèn)為 config$cfgservers$iuser = root;/mysq

39、l 連接用戶$cfgservers$ipassword = ;/mysql 連接密碼5 5實現(xiàn)技術(shù)與數(shù)據(jù)結(jié)構(gòu)實現(xiàn)技術(shù)與數(shù)據(jù)結(jié)構(gòu)5.15.1系統(tǒng)架構(gòu)設(shè)計系統(tǒng)架構(gòu)設(shè)計.1網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)架構(gòu)整個網(wǎng)絡(luò)架構(gòu)體系如下圖:第 15 頁 共 36 頁圖 5-1 圖片共享系統(tǒng)網(wǎng)絡(luò)構(gòu)架圖.2系統(tǒng)邏輯服務(wù)器系統(tǒng)邏輯服務(wù)器在邏輯上可以將使用的服務(wù)器分為三類,每類服務(wù)器均有不同的功能:webweb 服務(wù)器:服務(wù)器:該服務(wù)器進(jìn)行 web 發(fā)布,提供用于普通用戶業(yè)務(wù)工作的操作界面(網(wǎng)頁) ,亦將用戶的操作參數(shù)通過處理后生成的數(shù)據(jù)庫查詢傳遞回數(shù)據(jù)庫服務(wù)器,同時亦將結(jié)果在經(jīng)過解析以及重新編碼后生成

40、的數(shù)據(jù)通過網(wǎng)頁的方式返回到用戶前端。同時,該 web 服務(wù)器還負(fù)責(zé)解析用戶的請求以及動態(tài)的生成用戶所能看見的 web 頁面。數(shù)據(jù)庫服務(wù)器:數(shù)據(jù)庫服務(wù)器:該服務(wù)器上安裝了 mysql 數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)的設(shè)計主要針對該服務(wù)器。在此存放著所有的原始數(shù)據(jù)及用于系統(tǒng)的其它結(jié)構(gòu)數(shù)據(jù),所有的用戶及管理者對信息的新增,修改,刪除最終都將反映在該服務(wù)器上。同時,該服務(wù)器需要處理通過 web 服務(wù)器傳輸來的查詢請求,并將查詢結(jié)果返回給應(yīng)用服務(wù)器。5.25.2系統(tǒng)處理流程系統(tǒng)處理流程本系統(tǒng)采用 b/s 模式,smartemplate 構(gòu)架,用戶使用本系統(tǒng)時,只需要安裝上網(wǎng)的瀏覽器即可,不需要安裝其它任何軟件。

41、系統(tǒng)處理流程如下圖所示:第 16 頁 共 36 頁用用戶戶瀏瀏覽覽器器業(yè)業(yè)務(wù)務(wù)邏邏輯輯(解解析析)模模型型(通通用用模模版版)視視圖圖(php)發(fā)發(fā)出出http請請求求新新請請求求轉(zhuǎn)轉(zhuǎn)發(fā)發(fā)生生成成smarttemplate更更新新/返返回回html同同請請求求緩緩存存轉(zhuǎn)轉(zhuǎn)發(fā)發(fā)控控制制器器(請請求求解解析析,判判斷斷緩緩存存)圖 5-2 系統(tǒng)處理流程.1基于基于 mvcmvc 的的 smartemplatesmartemplate 架構(gòu)架構(gòu)本系統(tǒng)采用基于 mvc 的構(gòu)架實現(xiàn)。模型由實現(xiàn)業(yè)務(wù)邏輯的 php 解析腳本構(gòu)成,控制器由 smarttemplate 來實現(xiàn),視圖由一組含有

42、smarttemplate 格式標(biāo)簽的 html 文件構(gòu)成。下圖簡要描述了工作流程。圖 5-3 響應(yīng)用戶請求的工作流程第 17 頁 共 36 頁mvc 是一種設(shè)計模式,它強(qiáng)制性的把應(yīng)用程序的輸入、處理和輸出分開。mvc 把應(yīng)用程序分成三個核心模塊:模型、視圖和控制器,它們之間的相互關(guān)系如下圖所示:( (控控制制器器) )接受用戶請求調(diào)用模型響應(yīng)用戶請求選擇視圖顯示相應(yīng)結(jié)果( (視視圖圖) )顯示模型狀態(tài)接受數(shù)據(jù)更新請求把用戶輸入數(shù)據(jù)傳給控制器( (模模型型) )代表應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢處理業(yè)務(wù)流程通知視圖業(yè)務(wù)狀態(tài)更新選擇視圖業(yè)務(wù)處理用戶請求狀態(tài)查詢通知數(shù)據(jù)更新圖 5-4 mvc 設(shè)計模式5

43、.smarttemplatesmarttemplate 技術(shù)概述技術(shù)概述在這個系統(tǒng)制作過程中,大量采用了 smarttemplate 技術(shù),現(xiàn)就自己對smarttemplate 技術(shù)的理解表述如下:smarttemplate 是一個支持大型 web 應(yīng)用程序的模板引擎,是由服務(wù)器端調(diào)用和執(zhí)行的 php 庫。smarttemplate 本身與協(xié)議無關(guān)。 要理解 smarttemplate,首先需要理解模板引擎的工作方式。普通模板引擎工作方式: 你的 php 腳本指定一個 html 模板,指定動態(tài)內(nèi)容并顯示。模板分析器使用指派的內(nèi)容替換模板內(nèi)所有的占位符,然后顯示給用戶。smart

44、template 的工作方式類似模板編譯,他把模板轉(zhuǎn)換為可執(zhí)行的 php腳本,并且保存起來以備以后重用。當(dāng)一個新的模板在第一次被使用時,模板內(nèi)所有的占位符被替換為簡單的可輸出指定內(nèi)容的 php 代碼元素。舉個例子,模板片斷 title,將被轉(zhuǎn)換為 . 如果你指定內(nèi)容給正確的變量, 將再也不需要進(jìn)行模板分析了. 程序要做的僅僅是自己包含并執(zhí)行編譯后的模板. 這種緩存方式能大大減少模板引擎的運行時間。.3smarttemplatesmarttemplate 與與 htmlhtml 模版之間的關(guān)系模版之間的關(guān)系為了增強(qiáng)系統(tǒng)的移植性,使系統(tǒng)能在 windows 、nt、unix 及 l

45、inux 環(huán)境下運行而不進(jìn)行源代碼的修改,采用 php 技術(shù)。開發(fā)基于 web 的軟件系統(tǒng),采用php 腳本 工具,用 php 的動態(tài)庫連接訪問數(shù)據(jù)庫,將一些對象的屬性和方法封裝在 php 類庫中,客戶端界面可用 html 與 javascript 配合完成,服務(wù)器端的第 18 頁 共 36 頁應(yīng)用處理可用 php 腳本smarttemplate 引擎來具體實現(xiàn)。html 模版主要用來定義最終的表現(xiàn)頁面,而 php 腳本主要用來完成大量的邏輯處理,smarttemplate 用于將處理后的數(shù)據(jù)動態(tài)的封裝到 html 模版中,最終顯示的頁面有 php 解析后發(fā)送到客戶端。也就是說,經(jīng)過封裝以及解

46、析的html 模版主要用來發(fā)送給前端的用戶,而 php 腳本主要來響應(yīng)用戶的請求,完成請求的邏輯處理,同時,充當(dāng)著控制者的角色,用來負(fù)責(zé)響應(yīng)的事務(wù)處理。smarttemplate 本身沒有任何的業(yè)務(wù)處理邏輯,它只是簡單地檢索 php 腳本定義的對象,再將動態(tài)的內(nèi)容插入到預(yù)定義的 html 模版中。php 腳本創(chuàng)建 smarttemplate 需要的變量和對象,再根據(jù)用戶的行為,決定處理哪個 html 模版并發(fā)送給用戶。在實際開發(fā)過程中,往往是先把 html 模版開發(fā)出來,然后再將 html 模版中需要動態(tài)生成的部分用 smarttemplate 預(yù)定義的標(biāo)簽代替。這樣做的好處是充分利用了 ht

47、ml 的頁面表現(xiàn)能力,避免了 php 腳本在頁面表現(xiàn)方面的不足,大大縮短了開發(fā)周期,各盡所能。以下是節(jié)選程序代碼中的 html 模版轉(zhuǎn)換為最終的頁面對象:1. 首先,用 html 編輯工具開發(fā)出 html 頁面 . . .搜索圖片: flash_slideshow第 19 頁 共 36 頁. . .2. 通過 php 解析將對應(yīng)內(nèi)容填充到 html 模版內(nèi) . . .$_objimg_thb_block);$_tmp_arr_keys=array_keys($_objimg_thb_block);if ($_tmp_arr_keys0!=0)$_objimg_thb_bloc

48、k=array(0=$_objimg_thb_block);$_stack$_stack_cnt+=$_obj;foreach ($_objimg_thb_block as $rowcnt=$img_thb_block) $img_thb_blockrowcnt=$rowcnt;$img_thb_blockaltrow=$rowcnt%2;$img_thb_blockrowbit=$rowcnt%2;$_obj=&$img_thb_block;?a href= class=thickbox rel=gallery-plantsimg src= alt= width=70 height=

49、70 border=0 /. . .第 20 頁 共 36 頁5.35.3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計圖 5-5 圖片共享系統(tǒng)數(shù)據(jù)庫設(shè)計結(jié)構(gòu)圖上圖是根據(jù)需求設(shè)計出十二個數(shù)據(jù)表,分別是:系統(tǒng)設(shè)定表(setting) ,管理員操作記錄表(adminlog),管理員信息表(admin_info) ,圖片緩存記錄表(hash_cache) ,縮略圖表(photothumbs) ,圖片表(photo) ,用戶組表(group_setting),用戶信息表(member_info) ,用戶登陸記錄表(loginlog),圖片分類表(sort_setting) ,用戶上傳相冊表(job)以及標(biāo)簽表(tags_set

50、ting) 。該表主要分為以下幾個部分:第 21 頁 共 36 頁管理員相關(guān)表:圖 5-6 管理員相關(guān)表系統(tǒng)設(shè)置表:圖 5-7 系統(tǒng)設(shè)置表用戶組設(shè)置表圖 5-8 用戶組設(shè)置表圖片信息表圖 5-9 圖片信息表group_settinggidgroup_namebigintvarchar第 22 頁 共 36 頁相冊以及標(biāo)簽分類表圖 5-10 相冊分類以及標(biāo)簽表第 23 頁 共 36 頁.1前臺用戶主要數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計前臺用戶主要數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計用戶上傳相冊表(job)用于存儲用戶上傳某批圖片的基礎(chǔ)信息表 5-1 job 表nametypedescriptionjob_idbigi

51、nt(11)編號articlemediumtext該相冊的內(nèi)容描述article_titletinytext相冊標(biāo)題article_infotinytext相冊簡介authorvarchar(40)作者authoredbigint(11)作者 idsort_idbigint(11)分類 idalbum_idbigint(11)相冊 idhitsmediumint(7)點擊次數(shù)repliesmediumint(7)回復(fù)次數(shù)replies_pagemediumint(7)回復(fù)分頁數(shù)lastpostbigint(11)最后回復(fù)lastpostervarchar(30)最后回復(fù)者lastposteri

52、dbigint(11)最后回復(fù)用戶 idposttimebigint(11)發(fā)表時間hiddenint(2)是否隱藏isparseurlint(2)是否引用ipaddressvarchar(16)發(fā)表用戶的 ip用戶信息表(member_info)用于圖片上傳用戶的詳細(xì)情況信息與圖片表是一對多的關(guān)系:第 24 頁 共 36 頁表 5-2 member_info 表nametypedescriptionidbigint(11)用戶編號reg_timebigint(11)注冊時間namevarchar(32)用戶名photo_album_namevarchar(32)圖片名稱blog_album_

53、describeblob(100)描述ganderchar(1)性別pwdvarchar(64)用戶密碼gidmediumint(6)用戶所在組 idemailvarchar(64)用戶郵箱.2管理后臺數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計管理后臺數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計系統(tǒng)設(shè)定表(setting)用于存儲系統(tǒng)基本設(shè)定信息表 5-3 setting 表nametypedescriptionidint(5)編號varnamevarchar(255)設(shè)定名settingvarchar(255)設(shè)定描述valuetext設(shè)定值typevarchar(20)設(shè)定類型第 25 頁 共 36 頁管理員操作記錄表(adm

54、inlog) ,用于存儲管理員對后臺的操作記錄表 5-4 adminlog 表nametypedescriptionadminlogidint(5)記錄編號uidbigint(11)管理員編號user_namevarchar(32)管理員名稱actionvarchar(50)進(jìn)行操作的名稱scriptvarchar(255)該操作所調(diào)用的腳本dateint(10)執(zhí)行該操作的時間ipaddressvarchar(16)執(zhí)行該操作的管理員的ip 地址管理員信息表(admin_info) ,用于存儲管理員的基本信息(為了降低系統(tǒng)復(fù)雜度,這里將管理員的權(quán)限直接和管理員信息寫入同一表中,不獨立分為兩個

55、表)表 5-5 admin_info 表nametypedescriptionaidbigint(11)管理員編號admin_namevarchar(32)管理員名稱pwdvarchar(64)管理員密碼gidmediumint(6)管理員組 id(預(yù)留)can_adminint(1)執(zhí)行系統(tǒng)管理的權(quán)限can_userint(1)執(zhí)行用戶管理的權(quán)限can_categoryint(1)執(zhí)行分類管理的權(quán)限can_settingint(1)執(zhí)行設(shè)定管理的權(quán)限第 26 頁 共 36 頁6 6特殊問題解決辦法特殊問題解決辦法本系統(tǒng)在設(shè)計和開發(fā)過程中,也遇到了不少的問題,就其中較特殊問題分析及解決方案描述

56、如下:商業(yè)源代碼,全套計算機(jī)畢業(yè)設(shè)計免費下載 http:/更多全套設(shè)計聯(lián)系 qq:1042897696最新設(shè)計大全 http:/ windows 下,windows 默認(rèn)的編碼格式是 gb2312,但是運行環(huán)境卻是 utf-8 環(huán)境,要避免亂碼,必須統(tǒng)一整個開發(fā)環(huán)境的字符編碼:1首先,統(tǒng)一在數(shù)據(jù)庫中的編碼:在創(chuàng)建數(shù)據(jù)庫以及查詢數(shù)據(jù)庫時,將編碼首先置為 utf-8set character_set_client = utf8,character_set_connection = utf8,character_set_database = utf8,character_set_results =

57、utf8,character_set_server = utf8,collation_connection = utf8_general_ci,collation_database = utf8_general_ci,collation_server = utf8_general_ci,autocommit=1;2在 html 模版的 header 部分注明編碼標(biāo)準(zhǔn):3在 php 輸出前在 header 內(nèi)容中申明所用的字符流編碼:header(content-type: text/html; charset=utf-8);6.26.2動態(tài)顯示上傳進(jìn)度動態(tài)顯示上傳進(jìn)度通過表單上傳有一個缺陷,就

58、是不能動態(tài)的顯示當(dāng)前文件上傳了多少。這樣在用戶上傳比較大的圖片時很不方便用戶判斷上傳所耗時間以及瀏覽器是否超時。解決方法:經(jīng)過查找,發(fā)現(xiàn)一個通過 javascript 以及 php 的 socket 庫動態(tài)生成上傳進(jìn)度的 php 庫:ugia php uploader。該庫的使用方法很簡單,下面具體說明其調(diào)用方法:第 27 頁 共 36 頁調(diào)用方法:1.對于 upu/misc/upu.js, 修改 var basepath = /upload/upu/; 為upu 相對于網(wǎng)站根目錄的路徑2.然后在包含上傳表單的頁面中加入 ,這里的 upu/misc/upu.js 為 upu.js 的路徑,然后

59、在標(biāo)簽中加入 onsubmit=return upuinit(this)3.在你文件上傳后處理的頁面中使用$_post 來獲取表單數(shù)據(jù)4. upu/temp 為上傳臨時文件存放目錄, upu/files 為文件存放目錄,這兩個目錄可以在 upu.class.php 中指定。5. 中要有 enctype=multipart/form-data這個屬性,action 為文件上傳成功后的處理頁面,也就是說你的完全按照正常的思路來寫就可以了,唯一不同的是需要加入 onsubmit=return upuinit(this)6. 上傳成功后,可以使用$_post 來獲取表單數(shù)據(jù),如果是普通表單,直接$_p

60、ost表單名稱即可獲得其值,如果是一個文件,則返回這樣一個數(shù)組$_post表單名字 = array ( filename = clientpath = savepath = filetype = filesize = extension = )6.36.3圖片隨意批量上傳問題圖片隨意批量上傳問題一般的表單上傳模式中,雖然可以動態(tài)的生成并且隨意添加提供文件上傳的表單,但是會給用戶帶來很多不便,而且導(dǎo)致后臺的處理變得更加復(fù)雜,故最好的方法是利用后臺已有的對單個文件處理的接口來實現(xiàn)隨意批量上傳的問題。經(jīng)過具體比較,最終選擇 jupload 的 applet 庫用作對圖片批量上傳的中間處理。同時,為了實現(xiàn)對批量上傳的

溫馨提示

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

評論

0/150

提交評論