php大文件上傳下載怎么實(shí)現(xiàn)

本篇內(nèi)容主要講解“php大文件上傳下載怎么實(shí)現(xiàn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“php大文件上傳下載怎么實(shí)現(xiàn)”吧!

成都創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕十載,專業(yè)且經(jīng)驗(yàn)豐富。十載網(wǎng)站優(yōu)化營(yíng)銷經(jīng)驗(yàn),我們已為上千余家中小企業(yè)提供了成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)解決方案,按需定制制作,設(shè)計(jì)滿意,售后服務(wù)無(wú)憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!

PHP用超級(jí)全局變量數(shù)組$_FILES來(lái)記錄文件上傳相關(guān)信息的。

1.file_uploads=on/off

是否允許通過(guò)http方式上傳文件

2.max_execution_time=30

允許腳本最大執(zhí)行時(shí)間,超過(guò)這個(gè)時(shí)間就會(huì)報(bào)錯(cuò)

3.memory_limit=50M

設(shè)置腳本可以分配的最大內(nèi)存量,防止失控腳本占用過(guò)多內(nèi)存,此指令只有在編譯時(shí)設(shè)置了 --enable-memory-limit標(biāo)志的情況下才生效

4.upload_max_filesize=20M

允許上傳文件的最大大小,此指令必須小于post_max_size

5.upload_tmp_dir

上傳文件臨時(shí)存放目錄

6.post_max_size=30M

允許post方式可以接受最大大小

$_FILES['myFile']['name']   客戶端上次文件的原始名稱。

$_FILES['myFile']['type']   文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如"image/gif"。

$_FILES['myFile']['size']   已上傳文件的大小,單位為字節(jié)。

$_FILES['myFile']['tmp_name']   文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名,一般是系統(tǒng)默認(rèn)。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函數(shù)設(shè)置是不起作用的。

$_FILES['myFile']['error']   和該文件上傳相關(guān)的狀態(tài)碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說(shuō)明:(它們?cè)赑HP3.0以后成了常量)

UPLOAD_ERR_OK

值:0; 沒(méi)有錯(cuò)誤發(fā)生,文件上傳成功。

UPLOAD_ERR_INI_SIZE

值:1; 上傳的文件超過(guò)了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值。

UPLOAD_ERR_FORM_SIZE

值:2; 上傳文件的大小超過(guò)了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值。

UPLOAD_ERR_PARTIAL

值:3; 文件只有部分被上傳。

UPLOAD_ERR_NO_FILE

值:4; 沒(méi)有文件被上傳。 

值:5; 上傳文件大小為0.

文件被上傳結(jié)束后,默認(rèn)地被存儲(chǔ)在了臨時(shí)目錄中,這時(shí)您必須將它從臨時(shí)目錄中刪除或移動(dòng)到其它地方,如果沒(méi)有,則會(huì)被刪除。

也就是不管是否上傳成功,腳本執(zhí)行完后臨時(shí)目錄里的文件肯定會(huì)被刪除。

附:修改PHP上傳文件大小限制的方法

  1. 一般的文件上傳,除非文件很小.就像一個(gè)5M的文件,很可能要超過(guò)一分鐘才能上傳完.

但在php中,默認(rèn)的該頁(yè)最久執(zhí)行時(shí)間為 30 秒.就是說(shuō)超過(guò)30秒,該腳本就停止執(zhí)行.

這就導(dǎo)致出現(xiàn) 無(wú)法打開網(wǎng)頁(yè)的情況.這時(shí)我們可以修改 max_execution_time

在php.ini里查找

max_execution_time

默認(rèn)是30秒.改為

max_execution_time = 0

0表示沒(méi)有限制

  1. 修改 post_max_size 設(shè)定 POST 數(shù)據(jù)所允許的最大大小。此設(shè)定也影響到文件上傳。

php默認(rèn)的post_max_size 為2M.如果 POST 數(shù)據(jù)尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便會(huì)為空. 查找 post_max_size .改為

post_max_size = 150M

  1. 很多人都會(huì)改了第二步.但上傳文件時(shí)最大仍然為 8M.

為什么呢.我們還要改一個(gè)參數(shù)upload_max_filesize 表示所上傳的文件的最大大小。

查找upload_max_filesize,默認(rèn)為8M改為

upload_max_filesize = 100M

另外要說(shuō)明的是,post_max_size 大于 upload_max_filesize 為佳.

到此,相信大家對(duì)“php大文件上傳下載怎么實(shí)現(xiàn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章標(biāo)題:php大文件上傳下載怎么實(shí)現(xiàn)
網(wǎng)頁(yè)URL:http://muchs.cn/article22/iidocc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站全網(wǎng)營(yíng)銷推廣、Google標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)