php设置允许大文件上传示例代码

用Nginx做为代理服务器, 后端为 apache2. 设置允许上传最大为100M的文件,需要的朋友可以参考下。

用Nginx做为代理服务器, 后端为 apache2. 设置允许上传最大为100M的文件.

1. Nginx配置:

  1. http {
  2. ......
  3. client_max_body_size 100m;
  4. ......
  5. }

2. PHP 配置文件

  1. ......
  2. ; Maximum execution time of each script, in seconds
  3. ; http://php.net/max-execution-time
  4. ; Note: This directive is hardcoded to 0 for the CLI SAPI
  5. max_execution_time = 0
  6. ......
  7. [Data Handling]
  8. ; Maximum size of POST data that PHP will accept.
  9. ; http://php.net/post-max-size
  10. post_max_size = 100M
  11. ......
  12. [File Uploads]
  13. ; Maximum allowed size for uploaded files
  14. upload_max_filesize = 100M
  15. ......

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 引进。