2010-05-05 32 views
1

我想動態更改最大上傳文件限制。意味着不要更改服務器上的php.ini文件。
無論何時用戶已經上傳了2MB以上,那麼我的上傳限制應該被改變。
我想通過php來做所有這些事情。
如何動態更改php中的最大上傳文件限制?

在此先感謝。

回答

3

試試這個:

ini_set('upload_max_filesize', your_value_here); 

確保也已指定了正確的可以接受的設置:

  • file_uploads
  • upload_max_filesize
  • max_input_time
  • memory_limit
  • max_execution_time
  • post_max_size
2

限強制運行PHP腳本之前通過的upload_max_filesize被強制執行的,所以設置不能與函數ini_set動態地改變。

有關文件的詳細信息上傳INI設置,在那裏他們可以改變的,請看: - http://php.net/manual/en/ini.core.php#ini.sect.file-uploads - http://php.net/manual/en/configuration.changes.modes.php

由「用戶」假設你的意思的訪問者到你的網站,也有真的只有兩個方法可以在文件未達到其最終目的地的情況下強制執行此限制:

1)發生上載之前:在客戶端。你絕對可以使用基於java的上傳器來做到這一點。你是否可以使用JavaScript獲得所選文件的文件大小,我不知道。

2)將文件上傳到服務器後,但在此之前將其移動到最終目的地(運行move_uploaded_file之前)

1

如果您不能修改php.ini中,你也許能夠用.htaccess文件做:

php_value upload_max_filesize 50M 
php_value post_max_size 50M 
相關問題