用Nginx做為代理服務器, 後端為 apache2. 設置允許上傳最大為100M的文件.
1. Nginx配置:
http {
......
client_max_body_size 100m;
......
}
2. PHP 配置文件
......
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 0
......
[Data Handling]
; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 100M
......
[File Uploads]
; Maximum allowed size for uploaded files
upload_max_filesize = 100M
......
3. $_FILES[file]['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,沒有文件被上傳。
UPLOAD_ERR_NO_TMP_DIR
其值為 6,找不到臨時文件夾。PHP 4.3.10 和 PHP 5.0.3 引進。
UPLOAD_ERR_CANT_WRITE
其值為 7,文件寫入失敗。PHP 5.1.0 引進。