[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/>

<br/>

<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解決跨域
- 下載文件功能