為什麼上傳大檔案總是失敗,上傳小檔案就沒有問題。關於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入門教學》
注意:在php函數中還有個set_time_limit 函數,以上這個設定的作用是相同的,這兩者的差別就是以上是在php.ini 檔案中設定的,而set_time_limit 是寫在php檔案中的。所以也可以透過在頁面中用set_time_limit 設定程式的最長執行時間,例如無限制即:set_time_limit(0);
第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中文網其他相關文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境