十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
修改PHP上傳文件大小限制的方法
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的玉州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1. 一般的文件上傳,除非文件很小.就像一個(gè)5M的文件,很可能要超過一分鐘才能上傳完.
但在php中,默認(rèn)的亮源該頁(yè)最久執(zhí)行時(shí)間為 30 秒.就是說超過30秒,該腳本就停止執(zhí)行.
這就導(dǎo)致出現(xiàn) 無法打開網(wǎng)頁(yè)的情況.這時(shí)我敬跡態(tài)們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認(rèn)是30秒.改為
max_execution_time = 0
0表示沒有限制
2. 修改 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
3. 很多人都會(huì)改了第二步.但上傳文件時(shí)最大仍然為 8M.
為什么呢.我們還要改一個(gè)參數(shù)upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認(rèn)為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大于 upload_max_filesize 為佳.
修改PHP.ini
文件
修改最大上傳值,最大POST值,最大執(zhí)缺歲行超時(shí)時(shí)間值。
如果沒有辦法更改PHP.ini,把數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)記錄分開,數(shù)據(jù)記錄文件,手動(dòng)調(diào)雹仔整到源扮汪2M
以內(nèi)
1. 在php.ini中,做如下修改:\x0d\x0a file_uploads = on\x0d\x0a upload_tmp_dir = /home/upload\x0d\x0a upload_max_filesize = 4000M\x0d\x0a post_max_size = 4000M\x0d\x0a 一般地,設(shè)置好上述四個(gè)參數(shù)后,上傳8M的大體積文件,模察只設(shè)置上述四項(xiàng)還一定能行的通。除非你的網(wǎng)絡(luò)真有100M/S的上傳高速,否則你還得關(guān)心關(guān)心下面的參數(shù):\x0d\x0a max_execution_time = 600\x0d\x0a max_input_time = 600\x0d\x0a memory_limit = 128M\x0d\x0a\x0d\x0a2. 在納碼敗要確認(rèn)上傳的 里加洞顫入以下行:\x0d\x0a \x0d\x0a3. $_FILES["userfile"]["error"]返回值說明:\x0d\x0a $_FILES['teacher_pic']['error'] = 1 文件大小超過了PHP.ini中的文件限制\x0d\x0a $_FILES['teacher_pic']['error'] = 2 文件大小超過了瀏覽器限制\x0d\x0a $_FILES['teacher_pic']['error'] = 3 文件部分被上傳\x0d\x0a $_FILES['teacher_pic']['error'] = 4 沒有找到要上傳的文件\x0d\x0a $_FILES['teacher_pic']['error'] = 5 服務(wù)器臨時(shí)文件夾丟失\x0d\x0a $_FILES['teacher_pic']['error'] = 6 文件寫入到臨時(shí)文件夾出錯(cuò)\x0d\x0a $_FILES['teacher_pic']['error'] = -1 末充許的類型\x0d\x0a $_FILES['teacher_pic']['error'] = -2 文件過大,上傳文件不能超過{$this-maxSize}個(gè)字節(jié)\x0d\x0a $_FILES['teacher_pic']['error'] = -3 上傳失敗\x0d\x0a $_FILES['teacher_pic']['error'] = -4 建立存放上傳文件目錄失敗,請(qǐng)重新指定上傳目錄\x0d\x0a $_FILES['teacher_pic']['error'] = -5 必須指定上傳文件的路徑
修改一下php.ini文件。\x0d\x0a\x0d\x0a需要服務(wù)器權(quán)限才可修改??!\x0d\x0a\x0d\x0a需要在殲塵PHP.ini里設(shè)置以下幾項(xiàng):\x0d\x0a1. post_max_size =10M \x0d\x0a\x0d\x0a表單提交最大數(shù)據(jù)為10M.此項(xiàng)不是限制上傳單個(gè)文件的大小,而是針對(duì)整個(gè)表單的提交數(shù)據(jù)進(jìn)行限制的.\x0d\x0a限制范圍包括表單提交的所有內(nèi)容.例如:發(fā)表貼子時(shí),貼子標(biāo)題,內(nèi)容,附件等...\x0d\x0a\x0d\x0a2.file_uploads = On \x0d\x0a\x0d\x0a是否允許上傳文件,如果為OFF您將不能上傳文件.\x0d\x0a\x0d\x0a3.upload_tmp_dir = "D:/APM/PHP/uploadtemp/" \x0d\x0a\x0d\x0a上傳文件時(shí)系統(tǒng)使用的緩存目錄.如果此目錄所在磁盤空間蘆滲不足的話您將不能上傳文件.\x0d\x0a\x0d\x0a4.upload_max_filesize =2M \x0d\x0a\x0d\x0a最大上傳文件大小,此項(xiàng)針對(duì)上傳文件時(shí)單個(gè)文件的大小.\x0d\x0a\x0d\x0a與post_max_size之間的關(guān)系:\x0d\x0a在論壇發(fā)表貼子時(shí),您post_max_size 設(shè)為10M,而此項(xiàng)設(shè)成了2M,那么您只能上傳最大為2M的附件,且可以同時(shí)上傳5個(gè).\x0d\x0a\x0d\x0a注意:很多人遇到修改php.ini后重應(yīng)WEB服務(wù)后仍然不能生效.這種情況應(yīng)該先確認(rèn)一下所改的php.ini是不是當(dāng)前PHP所使用的.\x0d\x0a您可以在WEB目錄下建立一個(gè)php文件,內(nèi)容很簡(jiǎn)單就一句話\x0d\x0a\x0d\x0a代碼:\x0d\x0a\x0d\x0a瀏覽器中查看此文件, Configuration File (php.ini) Path 此項(xiàng)對(duì)應(yīng)的就是您的PHP當(dāng)前正在使氏嘩禪用的php.ini文件了.