一:原理

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

二:客户端的配置

表单的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扩展程序中断