2011-12-09 104 views
0

我正在創建一個用戶可以上傳文檔的網站。 服務器上的設置:上傳大於服務器允許的文件POST設置

upload_max_filesize 2M 
post_max_size 2M 

FTP上傳是無限的。

有沒有辦法允許用戶通過FORM上傳更大的文件?

+3

編號格式上傳僅限於HTTP。你需要一個客戶端的Flash或Java應用程序來做FTP,或者爲用戶提供一個'ftp://'url,並讓他們找到如何讓他們的瀏覽器進行上傳。 –

+0

@MarcB謝謝...這不是爲他們工作,我知道這些用戶+) –

回答

3

您可以嘗試通過ini_set函數在運行時設置upload_max_filesize的php值。 但這不起作用,因爲該變量沒有及時設置,以便它可以真正ovverride php.ini指令。

因此,如果您不能訪問了Apache的conf,你可以嘗試設置這樣的事情在.htaccess

我也建議設置的post_max_size,可以有很大的幫助。

php_value upload_max_filesize 32M 
php_value post_max_size 32M 
+1

PHP文檔特別排除ini_set()作爲一種可能性。不要這樣做。其餘的都會工作,但是。 – rdlowrey

+0

耶,我知道這是我建議.htaccess – holographix

+0

真的嗎? _「你可以嘗試通過ini_set函數設置php值」_ ...在任何情況下,+ 1改善我的答案,增加了'post_max_size' – rdlowrey

0

不,沒有別的辦法編輯這兩個php.ini設置。

+0

有沒有辦法_in php_ ...雖然有其他方式,如在PHP文檔中指出的。 – rdlowrey

+0

我不明白你的規格... –

+0

看看我的答案。 – rdlowrey

2

如果不具有編輯php.ini文件,你可以使用.htaccess文件:

php_value upload_max_filesize 10M 

根據http://www.php.net/manual/en/ini.list.php

項可以在php.ini中設置,或的.htaccess httpd.conf文件

值得一提的是一如既往,如果您修改php.ini文件或Apache的httpd.conf你需要看到昌前重新啓動Apache es反映在您的網絡環境中。

2

POST是HTTP,表單也是如此。 HTTP不是FTP。

除非您安裝某種FTP UI插件(或Java/Flash應用程序),或者只是將FTP暴露給用戶,否則您將無法繞過這一點。

1

如果您真的需要一種方法,並且無法更改upload_max_filesize,請讓您的用戶將文件分割成2M以下的部分。你可以在服務器上加入他們。 也許你可以向用戶顯示已上傳部件的列表。每當用戶上傳所有部件時,他都會點擊「上傳的所有部件」,然後服務器將其加入。

+0

哈哈有多少終端用戶,你知道誰會說:「當然,讓我使用我的方便的RAR文件分割器,我將分7部分上傳這個東西。」 ??? – rdlowrey

+0

如果他們不知道如何拆分文件,一步一步的指導將幫助他們。如果您知道上傳max_upload_filesize文件的更簡單方法(或任何其他方式),請告訴我們。 – Leif

+0

不是敲你,我在平均最終用戶的能力上絕望:) – rdlowrey

相關問題