本篇文章給大家分享的是有關(guān)PHP中上傳大文件的原理是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
芮城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
MAX_FILE_SIZE 隱藏字段(單位為字節(jié))必須放在文件輸入字段之前,其值為接收文件的***尺寸。這是對瀏覽器的一個(gè)建議,PHP 也會檢查此項(xiàng)。在瀏覽器端可以簡單繞過此設(shè)置,因此不要指望用此特性來阻擋大文件。實(shí)際上,PHP 設(shè)置中的上傳文件***值是不會失效的。但是***還是在表單中加上此項(xiàng)目,因?yàn)樗梢员苊庥脩粼诨〞r(shí)間等待上傳大文件之后才發(fā)現(xiàn)文件過大上傳失敗的麻煩。
顯然PHP的開發(fā)者們也考慮到了PHP上傳大文件的問題,但就像手冊所說,MAX_FILE_SIZE只是對瀏覽器的一個(gè)建議,事實(shí)上目前為止所有主流的瀏覽器并沒有采納這個(gè)建議,所以采用MAX_FILE_SIZE約束文件大小形同擺設(shè),不可行。
通過服務(wù)器端
MAX_FILE_SIZE既然無效,那么用戶可以將文件上傳到服務(wù)器,服務(wù)器端通過$_FILES['userfile']['size']判斷用戶上傳的文件大小,然后決定是否接受上傳并返回信息。暫且排除服務(wù)器的負(fù)荷以及可能存在的惡意破壞行為,這種解決方案聽起來無非是浪費(fèi)一部分帶寬,也能對用戶上傳文件作出約束。但這也是不可行的,PHP的文件上傳受到php.ini以下這些設(shè)置的影響:
post_max_size upload_max_filesize max_execution_time memory_limit
雖然設(shè)置方法在手冊中都有比較詳細(xì)的說明,之所以仍然說此方法不可行,是因?yàn)閜hp執(zhí)行腳本在超過memory_limit時(shí),該次的POST數(shù)據(jù)會全部丟失并且不會報(bào)錯(cuò)!試想用戶填寫了一個(gè)超長的表單,并伴隨一個(gè)超過memory_limit的文件一起上傳,經(jīng)過了漫長的等待時(shí)間之后發(fā)現(xiàn)等來的又是一張干干凈凈的空白表單,那是何等印象深刻的用戶體驗(yàn)啊。更何況數(shù)十M的服務(wù)器流量僅僅用來檢測文件大小,是現(xiàn)在的網(wǎng)絡(luò)環(huán)境不允許的。
以上就是PHP中上傳大文件的原理是什么,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站標(biāo)題:PHP中上傳大文件的原理是什么
網(wǎng)頁鏈接:http://jinyejixie.com/article24/iepoje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、自適應(yīng)網(wǎng)站、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化、域名注冊、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)