




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——PHP的APC模塊實現上傳進度條PHP的APC模塊實現上傳進度條
介紹了使用PHP的APC模塊制作上傳進度條,需要的摯友可以參考下。跟隨我去看看吧!
APC模塊,它的全稱是AlternativePHPCache。APC可以將全體PHP代碼會被緩存起來,另外它可供給確定的內存緩存功能.但是這個功能并不是特別完備,有報告說假設頻繁使用APC緩存的寫入功能,會導致不成預料的錯誤.假設想使用這個功能,可以看看apc_fetch,apc_store等幾個與apc緩存相關的函數。
值得欣喜的是從5.2開頭APC參與了APC_UPLOAD_PROGRESS,解決了困擾大家已久的`進度條問題。并且它把原來的上傳時把臨時文件全部緩存到內存改成了當臨時文件達成設定值時就自動保存到硬盤,有效地改善了內存利用狀況。
它的作用原理是在上傳時候賦予每個上傳一個唯一的ID,當PHP腳本收到一個上傳文件時,解釋程序將自動檢查$_POST數組中名為APC_UPLOAD_PROGRESS的暗藏字段,它將成為緩存變量,存儲關于上傳的信息,這樣腳本就可以通過上傳的ID來訪問上傳文件的狀態信息。
!以下為上傳表單
formenctype=multipart/form-dataid=upload_formaction=method=POST
inputtype=hiddenname=APC_UPLOAD_PROGRESSid=progress_keyvalue=upid/
視頻標題:inputtype=textid=subjectname=subject/
視頻說明:inputtype=textid=contentname=content/
視頻TAG以逗號分割inputtype=textid=tagname=tags/
inputtype=fileid=upfilename=upfile/
inputtype=submitid=filesubmitvalue=上傳onclick=startProgressupid;returntrue;/
!留神:startProgressupid中的參數是你從php中調配的唯一上傳參數
/form
!以下為上傳進度條
pid=upstatusstyle=width:500px;height:30px;border:1pxsolid##ffffde;color:#796140;
/p
pid=progressouterstyle=width:500px;height:20px;border:3pxsolid#de7e00;display:none;
pid=progressinnerstyle=position:relative;height:20px;color:#796140;background-color:#f6d095;width:0%;/p
/p
最主要的就是那個APC_UPLOAD_PROGRESS的暗藏域,有了它腳本才能去訪問目前上傳文件的狀態,另外加一個顯示上傳狀態的p就好了。
下面是處理Ajax的腳本,用了Jquery框架,json傳遞消息。
functiongetProgressupid
varurl=$siteurlepadmin/upprocess;
$.getJSON
url,
progress_key:upid,
functionjson
$#progressinner.widthjson.per+%;
$#upstatus.html文件大小:+json.total+KB+已上傳:+json.current+KB;
ifjson.per100
setTimeoutfunction
getProgressupid;
,10;
else
$#upstatus.html視頻上傳完成,正在處理數據,請稍后;
functionstartProgressupid
$#progressouter.cssdisplay:block;
setTimeoutfunction
getProgressupid;
,100;
再下來就是讀取上傳狀態的PHP代碼了,至于上傳文件的處理可以按照平常自己的來寫。
//上傳文件操作函數,可按照自己的需要編寫
functionupflvAction
if$_SERVER[REQUEST_METHOD]==POST
$subject=trim$this-f-filter$this-_request-getPostsubject;
$content=trim$this-f-filter$this-_request-getPostcontent;
Zend_Loader::loadClassCustom_FlvOp;
$flv=newCustom_FlvOp;
$flv-uploadFlvupfile,$subject,$content;
//這就是讀取上傳狀態的函數了~~
functionupprocessAction
ifisset$_GET[progress_key]
$status=apc_fetchupload_.$_GET[progress_key];
$json=array
per=$status[current]/$status[total]*100,
total=round$status[total]/1024,
current=round$status[current]/1024,
;
require_onceZ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 IEC 60092-376:2025 RLV EN Electrical installations in ships - Part 376: Cables for control and instrumentation circuits 150/250 V (300 V)
- 2025年信息化管理專業考試試卷及答案
- 2025年體育競技與科學研究試題及答案
- 2025年安全工程師執業資格考試卷及答案
- 2025年環境工程基礎課程考試試卷及答案
- 2025年氣象學專業考試題及答案
- 一級建造師的試題及答案
- 燒烤學徒合同協議書模板
- 2025年Β-內酰胺類抗菌藥物合作協議書
- 思修第五章遵守道德規范錘煉高尚品格
- SMD車間ESD測試報告
- 土方及場地平整技術交底
- 2023 版《中國近現代史綱要》 課后習題答案
- TB 10752-2018 高速鐵路橋涵工程施工質量驗收標準
- 2024春期國開電大本科《當代中國政治制度》在線形考(形考任務一至四)試題及答案
- 《水電工程水生生態調查與評價技術規范》(NB-T 10079-2018)
- 《中醫常用護理技術基礎》課件-一般護理-第四節飲食護理
- 老年患者的血液透析護理
- 數字化智慧病理科建設方案
- 佩戴腕帶品管圈課件
- 治超工作總結匯報
評論
0/150
提交評論