日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

php 上传参数

發(fā)布時間:2025/5/22 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 上传参数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

php上傳文件限制涉及很多方面,大致歸納一下,有如下幾個:

1、memory_limit ? ? ? ? ? ? ? ? ? ?//內(nèi)存設(shè)置限制

2、max_execution_time ? ? ? ? //程序執(zhí)行時間限制

3、post_max_size ? ? ? ? ? ? ? ?//最大POST數(shù)據(jù)限制

4、upload_max_filesize ? ? ? ? //最大上傳文件大小限制

當(dāng)然有這幾個也不是絕對就限定了上傳文件大小,理論上也只是限制最大可能的上傳文件大小,因為內(nèi)存設(shè)置還受限于當(dāng)前可用內(nèi)存數(shù),程序執(zhí)行時間受限于當(dāng)前系統(tǒng)繁忙狀態(tài),POST數(shù)據(jù)大小還受限于POST冗余頭或多斷上傳數(shù),等等,這些因素都會在某個時機會影響到上傳文件結(jié)果。

所以從邏輯順序上:memory_limit?>?post_max_size?>?upload_max_filesize,再加上一個前提max_execution_time許可時間足夠長。

歸納一下,假設(shè)上傳限制100M字節(jié),則參考設(shè)置如下:

; Maximum execution time of each script, in seconds max_execution_time = 30; Maximum amount of time each script may spend parsing request data max_input_time = 60; Maximum input variable nesting level ;max_input_nesting_level = 64; Maximum amount of memory a script may consume (128MB) memory_limit = 128M;Maximum size of POST data that PHP will accept. post_max_size = 105M; Maximum allowed size for uploaded files. upload_max_filesize = 100M

一般來講,上傳文件時,首先需要保證上傳內(nèi)存,查看PHP.INI默認(rèn)配置,memory_limit默認(rèn)是128M,對一次腳本執(zhí)行可消耗的內(nèi)存量。如果上傳限制100M,那么這么大的內(nèi)存量而言足夠了(還是一般來講,比如多文件同時上傳可能就會不夠)。

?

調(diào)整set_time_limit

max_execution_time默認(rèn)設(shè)置為30秒,對于上傳100M文件而言,目前的網(wǎng)絡(luò)情況來看,30秒要上傳100M文件幾乎是不可能的,10M帶寬完全對稱速率,一秒一兆也需要一分半鐘。所以這個設(shè)置即使調(diào)整也難以估算實際執(zhí)行時間,而且調(diào)整太長對APACHE不太友善。

所以建議不要調(diào)整max_execution_time,而只是在PHP程序中使用:

set_time_limit(0);

進(jìn)行臨時調(diào)整。設(shè)置0表示沒有時間限制。當(dāng)然從程序執(zhí)行角度,設(shè)置0是解決了超時問題,但其實并非好的解決辦法,如果程序支持?jǐn)帱c續(xù)傳,那么設(shè)置600秒或3600秒也似乎是個更好的思路,超時時自動斷點續(xù)傳即可。

?

?

?

?

查找 post_max_size = 2M (默認(rèn)為2M)改為想要的大小,如:post_max_size = 100M

upload_max_filesize 表示所上傳的文件的最大值。
查找upload_max_filesize,默認(rèn)為8M改為upload_max_filesize = 100M
需要注意的是,把post_max_size 大于 upload_max_filesize 的設(shè)置為好。


最后,設(shè)置結(jié)束后,需要重新啟動apache。
具體可查看 PHP手冊 中的 〔php.ini 核心配置選項說明〕
upload_max_filesize ? ? ? ? ? ? ? ? ?所上傳的文件的最大大小。
post_max_size ? ? ? ? ? ? ? ? ? ? ? ?設(shè)定 POST 數(shù)據(jù)所允許的最大大小。
memory_limit ? ? ? ? ? ? ? ? ? ? ? ? ?設(shè)定了一個腳本所能夠申請到的最大內(nèi)存字節(jié)數(shù)。


PHP上傳文件涉及到的參數(shù)PHP默認(rèn)的上傳限定是最大2M,想上傳超過此設(shè)定的文件,需要調(diào)整PHP、apache等的一些參數(shù). 下面,我們簡要介紹一下PHP文件上傳涉及到的一些參數(shù):
file_uploads
是否允許通過HTTP上傳文件的開關(guān),默認(rèn)為ON即是開
upload_tmp_dir
upload_tmp_dir用來說明PHP上傳的文件放置的臨時目錄,要想上傳文件,得保證服務(wù)器沒有關(guān)閉臨時文件和有對文件夾的寫權(quán)限,如果未指定則PHP使用系統(tǒng)默認(rèn)值
upload_max_filesize
允許上傳文件大小的最大值,默認(rèn)為2M
post_max_size
控制在采用POST方法進(jìn)行一次表單提交中PHP所能夠接收的最大數(shù)據(jù)量。如果希望使用PHP文件上傳功能,則需要將此值改為比upload_max_filesize要大
max_input_time
以秒為單位對通過POST、GET以及PUT方式接收數(shù)據(jù)時間進(jìn)行限制。如果應(yīng)用程序所運行環(huán)境處在低速鏈路上,則需要增加此值以適應(yīng)接收數(shù)據(jù)所需的更多時間
memory_limit
為了避免正在運行的腳本大量使用系統(tǒng)可用內(nèi)存,PHP允許定義內(nèi)存使用限額。通過memory_limit變量來指定單個腳本程序可以使用的最大內(nèi)存容量變量memory_limit的值應(yīng)當(dāng)適當(dāng)大于post_max_size的值
max_execution_time
max_execution_time設(shè)置了在強制終止腳本前PHP等待腳本執(zhí)行完畢的時間,此時間以秒計算。當(dāng)腳本進(jìn)入了一個無限循環(huán)狀態(tài)時此變量非常有用。然而,當(dāng)存在一個需要很長時間完成的合法活動時(例如上傳大型文件),這項功能也會導(dǎo)致操作失敗。在這樣的情況下必須考慮將此變量值增加,以避免 PHP在腳本正在執(zhí)行某些重要過程的時候?qū)⒛_本關(guān)閉


打開php.ini,首先找到
file_uploads = on ;是否允許通過HTTP上傳文件的開關(guān)。默認(rèn)為ON即是開
upload_tmp_dir ;文件上傳至服務(wù)器上存儲臨時文件的地方,如果沒指定就會用系統(tǒng)默認(rèn)的臨時文件夾
upload_max_filesize = 8m ;望文生意,即允許上傳文件大小的最大值。默認(rèn)為2M
post_max_size = 8m ;指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值。默認(rèn)為8M
一般地,設(shè)置好上述四個參數(shù)后,上傳<=8M的文件是不成問題,在網(wǎng)絡(luò)正常的情況下。
但如果要上傳>8M的大體積文件,只設(shè)置上述四項還一定能行的通。

進(jìn)一步配置以下的參數(shù)
max_execution_time = 600 ;每個PHP頁面運行的最大時間值(秒),默認(rèn)30秒
max_input_time = 600 ;每個PHP頁面接收數(shù)據(jù)所需的最大時間,默認(rèn)60秒
memory_limit = 8m ;每個PHP頁面所吃掉的最大內(nèi)存,默認(rèn)8M
把上述參數(shù)修改后,在網(wǎng)絡(luò)所允許的正常情況下,就可以上傳大體積文件了
max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size = 32m

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/shuaixf/archive/2012/05/25/2517899.html

總結(jié)

以上是生活随笔為你收集整理的php 上传参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。