[TOC]
>[success] # post上传文件
<br/>
~~~
1. 提交方式'post'
2. 'enctype' 默认值 'application/x-www-form-urlencoded'需要设置成'multipart/form-data'
3. 报错'413 Request Entity Too Large',需要配置服务器'上传文件大小限制'
4. 后台接收的参数中的'地址' [tmp_name] => C:\Users\Administrator\AppData\Local\Temp\php6AF3.tmp
是每次上传照片的'临时文件'
~~~
<br/>
>[success] ## 修改服务器上传文件大小限制
<br/>
![](https://img.kancloud.cn/b6/f1/b6f1c58d2f8a811b31d5a968809e1a0b_395x323.png)
<br/>
![](https://img.kancloud.cn/19/d7/19d7c83cb2d3e3ef6f96a867108fb0b7_376x461.png)
<br/>
>[success] ## 前端代码
<br/>
index.html
<br/>
~~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>上传文件</title>
</head>
<body>
<form action="./postFiles.php" method="POST" enctype="multipart/form-data">
<input type="file" name="images">
<br>
<input type="submit">
</form>
</body>
</html>
~~~
<br/>
>[success] ## 后端代码
<br/>
postFiles.php
<br/>
~~~
<?php
// 接收提交的文件
// 超全局变量用来接收文件
print_r($_FILES);
/**
* 接收到的文件
* Array (
* [images] => Array (
* [name] => IMG_0212.jpg 文件名称
* [type] => image/jpeg 文件类型
* [tmp_name] => C:\Users\Administrator\AppData\Local\Temp\php6AF3.tmp 路径 tmp是临时文件
* [error] => 0 错误编码
* [size] => 1621978 文件大小
* )
* )
*/
// 上传文件为了防止用户胡乱上传,php代码执行完毕之后临时文件就被销毁了,如果想看到那个临时文件可以
// 让php代码执行的稍微慢一点,睡眠5秒
sleep(5);
// file:要移动的文件,newloc:要移动到的位置,这里把文件移到files文件夹
move_uploaded_file($_FILES['images']['tmp_name'],'./files/'.$_FILES['images']['name']);
// 如果想更严谨一些,需要判断文件类型、文件大小、文件是否存在,如果存在就不再往服务器存储
?>
~~~
<br/>
- 基本概念
- 服务器
- PHP学习
- PHP根据数据生成页面
- form表单提交数据到服务器
- form表单查询信息详情页
- 列表渲染展示以及跳转详情
- PHP拆分写法
- form表单提交
- get方式提交数据补充
- post方式提交数据
- post上传文件
- 请求报文和响应报文基本概念
- XMLHTTPRequest对象的基本使用
- 回调函数&获取返回的数据
- ajax发送get请求
- ajax验证用户是否存在逻辑
- ajax发送post请求
- 新浪云使用方法
- onload 和 onreadystatechange
- XML格式
- 服务器返回XML格式数据
- JSON格式
- 服务器返回JSON格式数据
- ajax工具函数封装
- js模板引擎
- 跨域解决方案
- JSONP
- CORS解决跨域
- 下载文件功能