2011-04-07 44 views
4

如何在PHP中上傳大於2MB的文件,我搜索了互聯網,並且我更改了php.ini文件,該行是:"upload_max_filesize = 200M",但我仍然無法上傳2 MB文件。在php中上傳大文件

什麼似乎是問題?

請幫助我。提前感謝。

+0

你的'不能'是什麼意思?你可以說得更詳細點嗎?來自error_log的任何錯誤都會非常有用。 – Emmerman 2011-04-07 11:21:13

+0

您是在共享主機上運行還是在本地計算機上運行? – JohnP 2011-04-07 11:21:33

+2

有關於堆棧溢出的** LOADS **問題。你有搜索嗎? – 2011-04-07 11:22:20

回答

2

正如你猜,你必須設置upload_max_filesize ...


你也必須設置post_max_size(引用):允許

集後數據的最大大小。
此設置也會影響文件 上傳。要上傳大文件,這個 的值必須大於 upload_max_filesize

+0

我改變了這兩件事。 – Surej 2011-04-07 11:23:52

+0

'phpinfo()'表示什麼? – 2011-04-07 11:24:24

+0

@Pascal MARTIN:PHP版本5.2.6 – Surej 2011-04-07 11:27:22

0

也有可能限制這種其他選項:

max_input_time = 600 
php_value max_execution_time = 600 
post_max_size = 200M 

(...和重啓Apache)

+0

我更改了以下值:php_value upload_max_filesize 32M php_value post_max_size 60M php_value max_execution_time 500 php_value max_input_time 500 – Surej 2011-04-07 11:29:30

+1

max_execution_time在這裏做什麼? – 2011-04-07 11:30:12

+0

max_execution_time用於腳本的最長生存時間以及腳本在接受輸入時應花費的時間 – Surej 2011-04-07 11:33:13

0

將下面的代碼在側.htaccess文件並保存。

php_value upload_max_filesize 200M 
php_value post_max_size 200M 
php_value max_input_time 2000 
+0

我將它保存得比你的值大......但是沒有用.. – Surej 2011-04-07 11:28:03

+1

@karthick:你必須重新啓動網絡服務才能生效。 – 2011-04-07 11:35:14

-2

嘗試PHP腳本(頂部)內的設置吧..

ini_set("upload_max_filesize", "255M"); 
ini_set("post_max_size, "256M"); 
+1

這將無法正常工作。太遲了 – 2011-04-07 11:45:25

+1

'這不行',解釋一下。 '太遲了',解釋。請。 – 2011-04-07 11:50:19

+0

我認爲它不能在PHP5 – Efazati 2011-04-07 11:52:23

1

讓你的php.ini-dist的文件,

  • 編輯它設置上面顯示正確的價值觀
  • 將其重命名爲php.ini
  • 將其複製到WINDOWS目錄中
  • 重新啓動Apache
+0

@Col。Sharpnel:我完成了你寫的東西,但仍然在phpinfo節目中2MB – Surej 2011-04-07 11:59:51

+0

@karthick以及你必須諮詢wamp文檔編輯帳戶php.ini – 2011-04-07 12:02:18

+0

好的......無論如何感謝Col.Sharpnel,我會自己嘗試,如果我上傳成功,然後我會告訴你。 – Surej 2011-04-07 12:05:34

7

曾幾何時我面臨這個問題,我的WAMP的服務器,當我搜索的解決方案,我偶然發現了這一討論。所以,如果有人有同樣的問題,這是我的工作解決方案,我希望這有助於:

  1. 我使用WAMP堆棧。通過閱讀你上面的評論,你也使用WAMP堆棧。如果你不知道,WAMP服務器有兩個(兩個)php.ini(在PHP目錄和Apache目錄中)配置,一個用於CLI,另一個用於Apache本身(請參閱php.ini on WAMP server)。因此,我創建了info.php來檢測我的服務器使用哪個php.ini,在我的情況下,這是Apache目錄中的一個(請參閱Which PHP Ini file does my WAMP webpage uses?)。

  2. 打開你的php.ini是由您的服務器,並作爲@Pascal馬丁建議,改變upload_max_filesize並設置post_max_size然後重新啓動服務器

  3. 再次檢查您的info.php,確保upload_max_filesizepost_max_size的值已更改爲您所需的值。

  4. 重新啓動Apache。

這對我很有幫助,希望這個幫助。

0

要上傳較大的文件,需要從php.ini文件更改/增加post_max_size和upload_max_filesize指令的值。

upload_max_filesize = 200M post_max_size = 201M

這將增加一個文件到200 MB的上傳限制,從2 MB的默認值。