GET/POST请求
-
_GET
可用于收集提交 HTML 表单 (method="get"
) 之后的表单数据。
-
$_GET
也可以收集 URL 中的发送的数据
-
$_POST
用于收集提交 method="post"
的 HTML 表单后的表单数据
-
$_POST
也常用于传递变量
/*
<form action="02-get.php" method="get">
<input type="text" name="uname">
<input type="text" name="upwd">
<input type="submit" name="">
</form>
*/
<?php
print_r($_GET);
echo $_GET["uname"];
echo $_GET["upwd"];
?>
// <a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
<?php
echo $_GET["subject"];
echo $_GET["web"];
?>
GET请求和POST请求的异同
- 相同点
- 不同点
- GET请求会将数据放到URL后面,对请求对数据有大小限制,可用于发送非敏感的数据
- POST请求会将数据放到请求头中,对数据没有大小限制,可用于提交敏感数据和大数据
文件上传
- 上传文件一般使用POST提交
- 上传文件必须设置form表单的
enctype="multipart/form-data"
- 上传的文件在PHP中可以通过
$_FILES
获取
- 默认情况下服务器对上传文件的大小是有限制的, 如果想修改上传文件的限制可以修改
php.ini
文件
<?php
// 获取文件对应的字典
$fileInfo = $_FILES["upFile"];
// 获取文件名称
$fileName = $fileInfo["name"];
// 获取上传文件保存的临时路径
$filePath = $fileInfo['tmp_name'];
// 移动文件
move_uploaded_file($filePath,"./source/".$fileName);
?>
/*
配置文件的修改:
file_uploads = On 是否允许上传文件 On/Off 默认是On
upload_max_filesize = 2048M 上传文件的最大限制
post_max_size = 2048M 通过Post提交的最多数据
max_execution_time = 30000 脚本最长的执行时间 单位为秒
max_input_time = 30000 接收提交的数据的时间限制 单位为秒
memory_limit = 2048M 最大的内存消耗
*/
- 注意点
- 执行结果中有中文, 必须在php文件顶部设置
header("content-type:text/html; charset=utf-8");
- 如果PHP中需要返回XML数据, 也必须在PHP文件顶部设置
header("content-type:text/xml; charset=utf-8");
- 从xml获取数据
echo file_get_contents("info.xml");