一、 生活中常见的地方:
  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(临时文件名):判断临时文件是不是一个有效的上传文件

最新文章

  1. Linux No volume control GStreamer plugins and/or devices found
  2. Arduino可穿戴开发入门教程(大学霸内部资料)
  3. logistic regression的一些问题,不平衡数据,时间序列,求解惑
  4. html5,表格与框架综合布局
  5. 配置 apt-get cloudera 离线source(Cloudera Manager的源)
  6. zepto源码研究 - zepto.js-4(常用的工具)
  7. libsvm java 调用说明
  8. 一个Sqrt谋杀触发功能
  9. hdu_2087 剪花布条(kmp)
  10. ArcGIS API for JavaScript 4.4 版本加载谷歌地图
  11. 【Python】 零碎知识积累 I
  12. 201671010142 2017-2 《java第十一章学习感悟》
  13. Jquery Ajax Realize whether the user is registered
  14. selenium的基本用法
  15. SVM中径向基函数与高斯核的区别 Difference between RBF and Gaussian kernel in SVM
  16. 永久有效的 webstorm license server 20180808
  17. ubuntu12.04下Qt调试器的使用
  18. 关于语法节点Tree、类型Type和符号Symbol
  19. PID控制算法的C语言实现九
  20. Python爬虫(七)

热门文章

  1. NoVNC安装部署
  2. CentOS7系统更换软件安装源
  3. 痞子衡嵌入式:恩智浦SDK驱动代码风格检查工具预览版
  4. app之---豆果美食
  5. 《JavaScript 模式》读书笔记(2)— 基本技巧2
  6. (转)SpringBoot :(has no explicit mapping for /error)
  7. 懂一点Python系列——快速入门
  8. Who Gets the Most Candies? POJ - 2886(线段树单点更新+区间查询+反素数)
  9. 记一次Metasploit心脏出血漏洞攻击测试
  10. python 顺序读取文件夹下面的文件(自定义排序方式)