一.通过http协议上传文件
上传类型规范: multipart/form-data
php文件上传/指令
作用域:
PHP总共有4个配置指令作用域:(PHP中的每个指令都有自己的作用域,指令只能在其作用域中修改,不是任何地方都能修改配置指令的)
PHP_INI_PERDIR:指令可以在php.ini、httpd.conf或.htaccess文件中修改
PHP_INI_SYSTEM:指令可以在php.ini 和 httpd.conf 文件中修改
PHP_INI_USER:指令可以在用户脚本中修改
PHP_INI_ALL:指令可以在任何地方修改
1.file_uploads=On/off
作用域 PHP_INI_SYSTEM 默认值On
file_uploads 确定服务器上的php脚本是否可以接受文件上传
2.max_input_time = integer
作用域 PHP_INI_ALL 默认值 60秒
max_input_time 确定php在注册一个致命错误之前解析输入所花费的最长时间
3. max_file_uploads = integer
作用域 PHP_INI_SYSTEM 默认值20
5.2.12起提供 改指令对同时上传的文件数设置 一个上线
4.memory_limit = integer M
作用域 PHP_INT_ALL 默认值16m
设置脚本可以分配的最大内存量 mb单位
5. post_max_size = integerM
作用域 PHP_INI_PERDIR 默认值 8m
通过post方法提交的数据大小设置 一个上限 如果文件使用post上传 处理大文件时,可能需要上调
uplaod_max_filesize以及这个设置
6. uplaod_max_filesize = integerM
作用域PHP_INI_PERDIR 默认值2m
确定上传文件的最大大小 单位mb
此指令必须小于post_max_size
7. upload_tmp_dir = string
作用域 PHP_INI_SYSTEM 默认值null
上传的文件在处理文件之前必须成功传输到服务器,必须指定一个位置来临时放置这些文件,
直到文件移动到最终目的为止,例如uplaod_tmp_dir = "/tmp/phpuploads/"
二、$_FILES数组
$_FILES 超级全局变量存储通过一个php脚本上传到服务器的文件有关的各种信息
1. $_FILES['file']['error']
数组值提供了与上传尝试结果有关的重压信息 共有5个不同的返回值
2. $_FILES['file']['name']
指定客户端机器上 声明的文件最初的名字 包括扩展名
3. $_FILES['file']['size']
指定从客户端上传的文件的大小 字节为单位
4. $_FILES['file']['tmp_name']
指定上传到服务器后为文件赋予的临时名称
5. $_FILES['file']['type']
指定从客户端上传的文件MIME类型