php中$_POST与php://input的区别实例分析
本文实例分析了php中$_POST与php://input的区别。分享给大家供大家参考。具体分析如下:
$_POST与php教程://input可以取到值,$HTTP_RAW_POST_DATA为空
$_POST以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换
php://input也可以实现此这个功能可以获得POST的原始数据。
代码
echofile_get_contents("php://input");
实例
<formaction="post.php"method="post"> <inputtype="text"name="user"> <inputtype="password"name="password"> <inputtype="submit"> </form>
post.php
<?echofile_get_contents("php://input");?>
php://input允许读取POST的原始数据。和$HTTP_RAW_POST_DATA比起来,它给内存带来的压力较小,并且不需要任何特殊的php.ini设置。php://input不能用于enctype="multipart/form-data"。
php的$_POST:
$_POST变量是一个数组,内容是由HTTPPOST方法发送的变量名称和值.
$_POST变量用于收集来自method="post"的表单中的值,从带有POST方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制.
html
<formaction="welcome.php"method="post"> Enteryourname:<inputtype="text"name="name"/> Enteryourage:<inputtype="text"name="age"/> <inputtype="submit"/> </form>
welcome.php
Welcome<?phpecho$_POST["name"];?>.<br/>
Youare<?phpecho$_POST["age"];?>yearsold!