2010-05-12 44 views

回答

2

,可以在PHP中可以改變這些的只有一個是最後一個,可與ini_set改變這樣的:

ini_set('memory_limit', '32M'); 

PHP始終在PHP腳本啓動之前處理客戶端請求。這意味着上傳的文件已經上傳,並且張貼表單在腳本啓動之前已經完全發佈。因此,上傳和發佈設置不能在腳本中設置,因爲它們在PHP腳本啓動時已經不相關。

+0

和文件上傳可能會被限制webserver配置。 – symcbean 2010-05-12 10:40:42

0

使用

ini_set ('key', 'value'); 

注意,可以使用的ini_set改變不是所有可用的選項()。這裏是一個清單:ini.list

瞭解更多ini_set參考;

2

如果您的服務器管理員並沒有阻止它,你可以使用ini_set()更改內存限制:

ini_set("memory_limit","16000000"); // abbreviations like "16M" work only 
            // in php.ini, always use full numbers here 

加載PHP腳本之前需要另外兩種選擇,沒有辦法改變那些在php.ini中。

+0

然後我怎麼改變他們,我的控制面板不給我改變php.ini設置的選項 但我需要上傳大於100MB的文件 – Starx 2010-05-12 11:30:34

+0

@Starx對不起,如果你不願意,無法訪問'php.ini'。您必須與您的提供商或服務器管理員交談,並要求他們爲您增加限制。 – 2010-05-12 11:33:05

3

您可以使用.htaccess文件試試吧,如果你有設置AllowOverride選項:

放置一個名爲.htaccess的到你的根目錄文件:

php_value upload_max_filesize 10000 
php_value post_max_size 10000 
php_value memory_limit 10000 
+0

哈!忘記這種可能性。在共享主機中並不總是可用,但值得一試。 +1 – 2010-05-13 08:51:09

+0

可以請你告訴我把這個.htaccess放在哪裏。我的意思是你的webroot,但在public_html \或www \或執行該腳本的文件夾如public_html \ uploads \ – Starx 2010-05-31 06:51:10

+0

困惑,你可以把它放在webroot下面的任何文件夾。把它放在你的index.php文件旁邊,它應該可以工作。 – 2010-05-31 07:17:22