这篇文章介绍的内容是关于PHP学习笔记之Post上传注意事项,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
今天原本是想用postman 模拟post 上传一组json 数据到服务器,结果发现上传的数据服务器始终接受不到。
服务器代码:
<?php echo "<pre class="brush:php;toolbar:false">"; var_dump($_POST); var_dump($_REQUEST); echo "
PostMan code:
POST /api.php/API/fish_woter_monitoring_add HTTP/1.1 Host: shrimp.cqjufy.com Content-Type: application/json Cache-Control: no-cache Postman-Token: 356cd424-c710-2d33-ffa7-29157f939c56 {"SensorData": [{"equipment_ID": "20180418","PH_value": "7.28","oxygen_value": "5.03","temperature_value": "21.4"}]}
结果发现服务器始终接收不到数据。
百度后 各位大神们都是推荐使用 php://input 读取
立即学习“PHP免费学习笔记(深入)”;
file_get_contents('php://input')
另外还可以使用 $GLOBALS['HTTP_RAW_POST_DATA'] 获取POST 原生数据,不过官方建议用php://input 代替;
$GLOBALS['HTTP_RAW_POST_DATA']
三者的区别:
$_POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别
1.需要设置 php.ini 中的 always_populate_raw_post_data 值为 On 才会生效
2.相比php://input 需要更多的内存
不能用于 enctype="multipart/form-data"
1.无法解析如text/xml,application/json等非 application/x-www.form-urlencoded 数据类型的内容
2.经验证不能用于enctype="text/plain"
3.当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。
相关推荐:
以上就是PHP学习笔记之Post上传注意事项的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号