搜尋
首頁後端開發PHP問題php 無法上傳大檔案怎麼辦

php無法上傳大檔案的解決方法:1、開啟暫存檔案並對該資料夾設定寫入的權限;2、增加「max_execution_time」的值;3、設定「file_uploads」的值為on ;4、設定「upload_max_filesize=20M」等。

php 無法上傳大檔案怎麼辦

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

php上傳大檔案失敗的原因及應對策略

為什麼上傳大檔案總是失敗,但是上傳小檔案就沒有問題。小編也不得其解,網路搜尋其原因,整理了一篇關於php上傳大檔案失敗的原因和解決方法的文章,分享給大家。

以下分別是各種原因以及解決方法:

第1種情況:檔案上傳時存放檔案的臨時目錄必須是開啟的並且是PHP 進程所有者用戶可寫的目錄。如果未指定則 PHP 使用系統預設值。

php.ini檔案中upload_tmp_dir用來說明PHP上傳的檔案放置的臨時目錄,要想上傳文件,得保證伺服器沒有關閉臨時檔案並對該資料夾有寫入的權限。

第2種情況:max_execution_time 的值必須夠大。變數 max_execution_time 設定了在強制終止腳本前PHP等待腳本執行完畢的時間,此時間以秒計算。當腳本進入了一個無限循環狀態時此變數非常有用。然而,當存在一個需要很長時間完成的合法活動時(例如上傳大型文件),這項功能也會導致操作失敗。在這樣的情況下必須考慮將此變數值增大,以避免PHP在腳本正在執行某些重要過程的時候將腳本關閉,例如設定為 90 秒。

max_execution_time = 90

注意在php函數中還有個set_time_limit 函數,和以上這個設定的作用是相同的,這兩者的差別就是以上是在php.ini 檔案中設定的,而set_time_limit 是寫在php檔案中的。所以也可以透過在頁面中用set_time_limit 設定程式的最長執行時間,例如無限制即:set_time_limit(0);

【推薦學習:《PHP影片教學》】

第3種情況:file_uploads = On 預設值為on,意思是允許透過HTTP 進行檔案上傳,此選項無法設定為OFF。

第4種情況:upload_max_filesize = 2M 設定檔上傳的大小的最大值,php.ini設定檔中的預設檔上傳大小為2M,php初學者容易犯的一個錯誤是在寫文件上傳功能時透過設定上傳檔案最大大小的表單區域,也就是允許上傳檔案的最大值,max_file_size(隱藏值域)的值來規定上傳檔案的大小,其實一般別人可以繞過這個值,所以安全起見,最好是在php.ini 設定檔中設定upload_max_filesize 選項,設定檔上傳的大小。預設 upload_max_filesize = 2M,也就是文件上傳的大小為2M,如果你想上傳超過8M的文件,例如20M,你必須設定upload_max_filesize = 20M。

第5種情況:post_max_size 這個值也必須夠大。這個變數也是一個同表單提交相關的變量,它限制的是客戶端透過POST方法進行一次表單提交時PHP程式所能夠接收的最大資料量。一般情況下,將此值的值設定的比 upload_max_filesize 略大即可,例如要上傳20MB的文件,此值可以設定為 21MB。

第6種情況:max_input_time 此變數可以以秒為單位對透過POST、GET以及PUT方式接收資料時間進行限制。如果應用程式所運作環境處在網路比較慢的情況下,則需要增加此值以增加接收資料所需的時間,例如將此值設為 90秒。

max_input_time = 90

第7種情況:memory_limit 也必須足夠大,為了避免正在運行的腳本大量使用系統可用內存,PHP允許定義內存使用限額。透過memory_limit變數來指定單一腳本程式可以使用的最大記憶體容量。變數memory_limit的值應當適當大於post_max_size的值。

第8種情況:另外如果你的主機是nginx 作業系統的話,如果以上操作都不行的話,記得在nginx 的設定檔裡面加上client_max_body_size 20m; 這樣一句,即表示最大允許上傳20MB ,具體根據自己的情況來。我的nginx 設定檔的位置在 /usr/local/nginx/conf/nginx.conf。

閱讀完這篇文章大家應該大概知道大檔案上傳失敗的原因了吧,希望本文可以為大家提供一些思路,更好的去解決類似問題。

以上是php 無法上傳大檔案怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
酸與基本數據庫:差異和何時使用。酸與基本數據庫:差異和何時使用。Mar 26, 2025 pm 04:19 PM

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

PHP安全文件上傳:防止與文件相關的漏洞。PHP安全文件上傳:防止與文件相關的漏洞。Mar 26, 2025 pm 04:18 PM

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

PHP輸入驗證:最佳實踐。PHP輸入驗證:最佳實踐。Mar 26, 2025 pm 04:17 PM

文章討論了PHP輸入驗證以增強安全性的最佳實踐,重點是使用內置功能,白名單方法和服務器端驗證等技術。

PHP API率限制:實施策略。PHP API率限制:實施策略。Mar 26, 2025 pm 04:16 PM

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

php密碼哈希:password_hash和password_verify。php密碼哈希:password_hash和password_verify。Mar 26, 2025 pm 04:15 PM

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

OWASP前10 php:描述並減輕常見漏洞。OWASP前10 php:描述並減輕常見漏洞。Mar 26, 2025 pm 04:13 PM

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。

PHP XSS預防:如何預防XSS。PHP XSS預防:如何預防XSS。Mar 26, 2025 pm 04:12 PM

本文討論了防止PHP中XSS攻擊的策略,專注於輸入消毒,輸出編碼以及使用安全增強的庫和框架。

PHP接口與抽像類:何時使用。PHP接口與抽像類:何時使用。Mar 26, 2025 pm 04:11 PM

本文討論了PHP中接口和抽像類的使用,重點是何時使用。界面定義了無實施的合同,適用於無關類和多重繼承。摘要類提供常見功能

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器