【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(临时文件名):判断临时文件是不是一个有效的上传文件

原文地址:https://www.cnblogs.com/peilanluo/p/6818885.html