2013-06-26 45 views
0

我嘗試使用PHP上傳大(>〜1.5MB)圖像到我的網站(免費託管),但該文件不會出現在服務器上。 有時我得到錯誤1(超過最大尺寸),有時它告訴我,move_uploaded_file()成功,但圖像仍然不出現。 當我嘗試將PHP.ini設置爲超過2M的上傳大小時,它將回到2M。 有什麼我可以做的嗎? Tnx。服務器不接受大文件

+0

您是否檢查過您的主機允許您託管大型文件? – 3ventic

+0

由於免費託管,文件上傳的大小限制。許多免費託管提供只有2 MB。 –

+0

更改主機。這些免費主機中的一些鎖定了您能夠有意識地執行的操作,以便該服務無法被利用。 –

回答

0

你可以嘗試設置他們的.htaccessini_set()

(只能用post_max_size要完成)。如果它不工作,那麼就意味着你的供應商禁用它。

php_value upload_max_filesize 10M 
php_value post_max_size 10M 

線添加爲.htaccess

說明:的upload_max_filesize是PHP_INI_PERDIR的類型,這意味着它可以在php.ini中被設置在,htaccess的的httpd .conf.user.ini(自PHP 5.3起)

+0

這不會在託管服務提供商工作,他們明確禁止這種行爲 –

+0

@php_nub_qq這就是爲什麼我寫道,如果它不起作用,這意味着供應商禁止它。 – Robert

1

我有這個問題與託管服務提供商,你需要一個當地的php.ini文件,以便能夠覆蓋從主php.ini給出的東西。使用ini_set()將不會在這種情況下工作。如果您確實有本地的php.ini,但它仍然無法工作,最好聯繫您的提供商並詢問他們如何進一步管理。

0

,你將需要改變幾個配置指令從php.ini這些都是爲您使用免費託管,你可能無法訪問更改如下

post_max_size = 64M 
upload_max_filesize = 64M 

鑑於php.ini文件,如果是這種情況,那麼你可以使用.htaccess文件覆蓋這些值。

upload_max_filesize有一個PHP_INI_PERDIR可更改狀態,這意味着它不可能通過ini_set進行更改,並且可以在以下位置進行更改。條目可以在php.ini,.htaccess,httpd.conf或.user.ini中設置。

+0

該值沒有停留,這表明主機有一個配置系統恢復對php.ini的更改。 –

+0

用php.ini檢查手冊不能更改'upload_max_filesize'! – Robert

+0

@Robert檢查我的更新答案,當你低估我的時候,我正在更新我的答案。 – DevZer0