[技術] PHP的檔案上傳
Written on 3:36 下午 by Yu Lai
PHP在裝好後預設的檔案上傳只能傳2MB,實在有點不夠用。
所以要修改一下php.ini來達到需求。
以下幾個是要修改的變數:
- file_uploads
- upload_max_filesize
- max_input_time
- memory_limit
- max_execution_time
- post_max_size
以下將分別對各變數詳細說明
upload_max_filesize and post_max_size
一般而言,檔案是採用POST method以'multipart/form-data'的格式從Browser上傳至Web Server。所以除了要加大upload_max_filesize外還需加大post_max_size。這邊要注意的是upload_max_filesize是設定上傳的檔案大小,而post_max_size的大小除了檔案的大小外還需加上其他的field和header data。
memory_limit
因為php engine在處理POST時會將data存於memory中,所以這個變數也需加大才行。
max_execution_time and max_input_time
最後要注意的是這2個timeout的設定,因為傳大檔時所需時間會較久,請參考網路環境來設定這2個值較好。
註:有些Web Server會設定限制Request大小的設定,如Apache的LimitRequestBody,遇到這種情況時也需一併修改加大。
If you enjoyed this post Subscribe to our feed