2010-06-30 69 views
4

我必須上傳一個帶有34MB的pdf文件。我的網站是在Linux中使用PHP。但我的網站只支持8MB。 (我從phpinfo知道這一點)。我如何增加尺寸?我聽說我們可以通過php.ini更改它。 htaccess的。但我在哪裏得到php.ini?我如何改變尺寸?有沒有人給我一個解決方案?在linux服務器上更改文件上傳大小

回答

10

有多種設置,可以影響最大文件上傳大小:

PHP_INI_PERDIR:以下設置可以在php.ini,.htaccess或httpd.conf中設置:

upload_max_filesize
上傳文件的最大大小。

post_max_size
設置允許的發佈數據的最大大小。要上傳大文件,該值必須大於upload_max_filesize。如果配置腳本啓用了內存限制,memory_limit也會影響文件上傳。

max_input_time
這設置腳本允許解析輸入數據的最大時間,例如POST,GET和文件上載。

PHP_INI_ALL:以下設置可以在php.ini,htaccess的httpd.conf的設置,或者與ini_set()

max_execution_time
這將設置在秒的最大時間的腳本允許運行在解析器終止之前。如果此限制太低,則在大型文件有時間上傳之前,腳本將終止。

memory_limit
這設置腳本允許分配的最大內存量(以字節爲單位)。如果配置腳本啓用了內存限制,memory_limit也會影響文件上傳。一般來說,memory_limit應該大於post_max_size

POST上傳方法
當通過POST方法上傳文件,你還需要設置MAX_FILE_SIZE在你的HTML表單。有關詳細信息,請參閱本:

http://www.php.net/manual/en/features.file-upload.post-method.php

共享主機
如果您使用的是託管共享,這是不可能的,你將能夠訪問系統的php.ini文件。但是,您可以在.htaccess中或在每個目錄下的php.ini文件中設置值。一些共享託管服務提供商可能會阻止您這樣做,因此您需要檢查是否屬於這種情況。

.htaccess
下面是一個示例。htaccess文件:

<IfModule mod_php5.c> 
    php_value upload_max_filesize 70M 
    php_value post_max_size 80M 
    php_value memory_limit 90M 
    php_value max_execution_time 240 
    php_value max_input_time 240 
</IfModule> 

每目錄的php.ini
通過以上的設置也可以在每個目錄的php.ini文件改變。同樣,這樣做的能力可能會受到您的主機提供商的限制。有關更多信息,請參見這裏:

http://www.askapache.com/php/custom-phpini-tips-and-tricks.html

多變:
有關PHP_INI_的說明*模式,這表明其中配置指令可以設置,在這裏看到:
http://php.net/manual/en/configuration.changes.modes.php

+0

* memory \ _limit *不會影響文件上傳的最大大小。 – Gumbo 2010-06-30 07:09:46

+0

@Gumbo:它影響'post_max_size'。看到這些文件在這裏:http://www.php.net/manual/en/ini.core.php#ini.post-max-size我已經更新了答案,使之更清晰。 – Mike 2010-06-30 07:18:49

+0

在網絡服務器級別也可能會設置限制。 – symcbean 2010-06-30 08:31:11

2

你可以在.htaccess中做到這一點:

php_value memory_limit 64M 
php_value upload_max_filesize 32M 
php_value post_max_size 32M 
php_value max_execution_time 600 
php_value max_input_time 600 

或php.ini中(見上變量)

+0

這個文檔有點分散,但'upload_max_filesize','post_max_size'和'max_input_time'不能用'ini_set()'設置。參見[可以設置配置設置的地方](http://php.net/manual/en/configuration.changes.modes.php),[文件上傳](http://www.php.net/manual/en /ini.core.php#ini.sect.file-uploads),[數據處理](http://www.php.net/manual/en/ini.core.php#ini.sect.data-handling)和[運行時配置](http://www.php.net/manual/en/info.configuration.php#info.configuration)以獲取更多信息。 – Mike 2010-06-30 07:41:27

+0

對不起,我編輯我的答案。順便說一句,我會去.htaccess無論如何。 – fabrik 2010-06-30 07:48:02

相關問題