文件上传与下载学习笔记(1)---文件上传原理及配置

一:原理

将客户端的文件上传到服务器端的临时目录,再将服务器端的临时文件移动到指定目录。

二:客户端的配置

表单的method必须为post方法
表单必须添加enctype=”multipart/form-data”属性
二者缺一不可。

客户端进行限制:

1:限制文件上传的大小

   <input type="hidden" name="MAX_FILE_SIZE" value="2M"/>

2:通过accept属性限制上传文件的类型

  <input type="file" name="myFile" accept="文件的MIME类型"/>

三:将临时文件移动到指定目录

两种方法:
1:move_uploaded_file($filename, $destination)

2:copy($source, $dest)

四:php.ini中的配置

在php.ini中搜索uploads ,会看到uploads模块的配置

第一项:file_uploads=On 开启文件上传功能

第二项:upload_tmp_dir=”C:\xampp\tmp” 临时目录

第三项:upload_max_filesize 允许上传的最大文件大小

第四项:post_max_size 通过post方法传递的数据大小

第五项:max_file_uploads=20 一次最多上传20个文件

关于资源的配置
max_execution_time=30 脚本解析器终止之前允许的最大执行时间,单位为秒。防止程序写的不好而占尽服务器资源
max_input_time=60 脚本解析输入数据post、get等的最大时间
max_input_nesting_level = 64 设置输入变量的嵌套深度
memory_limit =128M 最大单线程(web请求)的独立内存使用量
max_input_vars = 1000 接受多少输入的变量

五:error错误号解析

0 上传成功 上传到临时目录成功
1 超过了upload_max_filesize的值
2 超过了MAX_FILE_SIZE指定的值(表单)
3 文件只有部分被上传
4 没有文件被上传
6 找不到临时目录
7 文件写入失败
8 上传的文件被PHP扩展程序中断

你可能感兴趣的:(文件上传与下载学习笔记(1)---文件上传原理及配置)