上传上来的文件默认是放在一个临时目录里,我们要把里面的文件移动到我们需要的地方
HTML标签需要做的上传设置:
form标签属性设置:
1. method设置成 post
2. enctype设置成 multipart/form-data
3. form表单中设置隐藏类型的input,
name值设置为MAX_FILE_SIZE
VALUE值设置为需要限制的上传文件大小(字节)
在服务器端用php处理上传文件:
1. 设置PHP配置文件php.ini:
file_uploads: on 确定服务器上的脚本是否可以接受http文件上传
memory_limit: 8M 设置脚本可以分配的最大内存,防止失控的脚本独占服务器内存
upload_max_filesize:2M 限制上传文件的最大值,值必须小于post_max_size值
post_max_size: 8M 限制通过post方法可以接收的信息最大量
upload_tmp_dir: E:/wamp/tmp 上传文件临时存放的路径,可以是一个绝对路径,这个目录必须是可写的
注:post_max_size>=upload_max_filesize
2. $_FILES 多维数组,用于存储各种与上传有关的信息:
1)$_FILES['file]['name'] 客户端机器文件的原名称,包含扩展名
2) $_FILES['file]['size'] 已上传的文件大小(字节)
3)$_FILES['file]['tmp_name'] 文件上传后在服务器端存储的临时文件名
4) $_FILES['file]['error'] 文件上传时产生的错误,
0 表示没有错误,文件上传成功。
1 表示文件大小超出了upload_max_filesize大小
2 表示文件大小超出了html表单中MAX_FILE_SIZE的值
3 表示文件只有部分被上传。
4 表示没有上传任何文件
5)$_FILES['file]['type'] 获取上传文件的MIME类型,MIME规定了各种文件格式的类型,
每种MIME都是由/分隔的主类型和子类型组成,如 text/html
3. PHP文件上传处理函数,用于上传文件的后续处理
1)is_uploaded_file( ) 判断指定的文件是否通过HTTP POST上传的
2)move_uploaded_file( ) 文件上传后首先会存储在服务器的临时目录中,可使用该函数使文件移动到新位置