PHP大檔案上傳配置

來源:互聯網
上載者:User

標籤:最大   _for   作用   參數   客戶   限制   limit   name   預設   

1.file_uploads=on/off

  是否允許通過http方式上傳檔案

2.max_execution_time=30

  允許指令碼最大執行時間,超過這個時間就會報錯

3.memory_limit=50M

  設定指令碼可以分配的最大記憶體量,防止失控指令碼佔用過多記憶體,此指令只有在編譯時間設定了 
   --enable-memory-limit標誌的情況下才生效

4.upload_max_filesize=20M

  允許上傳檔案的最大大小,此指令必須小於post_max_size

5.upload_tmp_dir

  上傳檔案臨時存放目錄

6.post_max_size=30M

  允許post方式可以接受最大大小

$_FILES數組內容如下:

$_FILES[‘myFile‘][‘name‘]   用戶端上次檔案的原始名稱。 

$_FILES[‘myFile‘][‘type‘]   檔案的 MIME 類型,需要瀏覽器提供該資訊的支援,例如"image/gif"。 

$_FILES[‘myFile‘][‘size‘]   已上傳檔案的大小,單位為位元組。 

$_FILES[‘myFile‘][‘tmp_name‘]   檔案被上傳後在服務端儲存的臨時檔案名稱,一般是系統預設。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函數設定是不起作用的。 

$_FILES[‘myFile‘][‘error‘]   和該檔案上傳相關的狀態代碼。

UPLOAD_ERR_OK 

    值:0; 沒有錯誤發生,檔案上傳成功。

UPLOAD_ERR_INI_SIZE 

    值:1; 上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。 

UPLOAD_ERR_FORM_SIZE 

    值:2; 上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。 

  UPLOAD_ERR_PARTIAL 

    值:3; 檔案只有部分被上傳。 

  UPLOAD_ERR_NO_FILE 

    值:4; 沒有檔案被上傳。 

    值:5; 上傳檔案大小為0. 
檔案被上傳結束後,預設地被儲存在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。

也就是不管是否上傳成功,指令碼執行完後臨時目錄裡的檔案肯定會被刪除。

附:修改PHP上傳檔案大小限制的方法

1. 一般的檔案上傳,除非檔案很小.就像一個5M的檔案,很可能要超過一分鐘才能上傳完.

但在php中,預設的該頁最久執行時間為 30 秒.就是說超過30秒,該指令碼就停止執行.

這就導致出現 無法開啟網頁的情況.這時我們可以修改 max_execution_time

在php.ini裡尋找

max_execution_time

預設是30秒.改為

max_execution_time = 0

0表示沒有限制

2. 修改 post_max_size 設定 POST 資料所允許的最大大小。此設定也影響到檔案上傳。

php預設的post_max_size 為2M.如果 POST 資料尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空白.
尋找 post_max_size .改為

post_max_size = 150M

3. 很多人都會改了第二步.但上傳檔案時最大仍然為 8M.

為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的檔案的最大大小。

尋找upload_max_filesize,預設為8M改為

upload_max_filesize = 100M

另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.

PHP大檔案上傳配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.