【php】文件的上传与下载
一、 生活中常见的地方:
a) 例如邮箱、空间、文库、百度云、微爱等地方,都可以看到文件的上传和下载的应用,因此,上传和下载的功能非常重要!
二、 PHP当中的文件上传和下载
a) 我们需要进行一些设置,来使我们的表单具有提交文件的功能!
b) 客户端的设置:
i. 其实就是表单的设置:
1. input表单项中的type属性值必须是file类型
2. form表单头部需要添加一个通行证:enctype="multipart/form-data",含义为让服务器认识到我们要在这个表单中上传文件了!
3. 上传方式必须是POST方式,否则无法上传
ii. 在php脚本获取上传文件信息的方式:
1. $_FILES可以获取存储到数组中的文件信息
c) 服务器端的设置:
i. 其实就是用来过滤用户上传的文件的,并不是所有文件用户都能往服务器提交,必须经过php脚本的处理之后,才可以提交!搜索 file_uploads 在php.ini当中
1. 开启允许提交文件的按钮:【php.ini当中】file_uploads = On
2. 文件上传到服务器的临时存储目录:
upload_tmp_dir ="D:/Wamp/tmp"
3. 服务器允许上传的文件最大大小:
upload_max_filesize = 2M
4. 服务器允许上传的最大文件数量:
max_file_uploads = 20
5. 表单所允许的最大上传数据大小:
post_max_size = 8M
d) 上传文件的数据格式:
i. pic:代表了form表单中input表单项的名字
ii. name:文件的名称
iii. type:文件的类型
iv. tmp_name:临时存储的文件名
v. error:错误号:0,1,2,3,4,6,7,没一个错误号都代表了一种上传中遇到的情况
1. 0:表示没有发生任何错误
2. 1:表示上传文件的大小超出了约定值。
3. 2:表示上传文件大小超出了HTML表单隐藏域属性的MAX_FILE_SIZE元素所指定的最大值
4. 3:表示文件只被部分上传
5. 4:表示没有上传任何文件
6. 6:表示找不到临时文件夹。
7. 7:表示文件写入失败
vi. Size:上传文件的大小
e) 关于文件上传的函数:
i. Move_uploaded_file(临时文件名,新的文件名【含路径】);移动临时文件到指定的目录当中
ii. Is_uploaded_file(临时文件名):判断临时文件是不是一个有效的上传文件