文件上传与下载学习笔记(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扩展程序中断