电脑安全

您当前的位置:主页 > 电脑安全 >

php中php://input和$_POST有什么不同-网络编程

来源:[db:来源]标题:   代码    编辑:电脑技术全能网 时间:2019-09-21 18:25

原标题:php中php://input和$_POST有什么不同-网络编程
   在php中php://input和$_POST有甚么差别呢,post是咱们罕用的猎取表单提交的数据的一个例子,然而php://input估量许多友人和我一样没有怎样用过,上面咱们就一同来看看吧。 咱们先来看两个实例例子:php://input 代码以下复制代码 <form action="post.php" method="post"> <input type="text" name="user"> <input type="password" name="password"> <input type="submit"> </form> post.php 代码以下复制代码 <? echo file_get_contents("php://input");?> 例子,posthtml 代码以下复制代码 <form action="welcome.php" method="post">Enter your name: <input type="text" name="name" />Enter your age: <input type="text" name="age" /><input type="submit" /></form> welcome.php 代码以下复制代码 Welcome <?php echo $_POST["name"]; ?>.<br />You are <?php echo $_POST["age"]; ?> years old! 经过 HTTP POST 发送的变量不会表现在 URL 中。当咱们用$_POST接收不到页面传过去信息时,咱们能够用php://input去接收值,那末他俩有甚么差别起首当$_POST 与 php://input能够取到值时$HTTP_RAW_POST_DATA 为空;$http_raw_post_data是PHP内置的一个全局变量。它用于,PHP在无奈辨认的Content-Type的情形下,将POST过去的数据原样地填入变量$http_raw_post_data。它一样无奈读取Content-Type为multipart/form-data的POST数据。须要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变量$http_raw_post_data。而后$_POST以关系数组方法构造提交的数据,并对此停止编码处置,如urldecode,乃至编码转换;而php://input 经过输出流以文件读取方法获得未经处置的POST原始数据;php://input 同意读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,而且不须要任何特别的 php.ini 设置。php://input 不能用于 enctype=”multipart/form-data”;php://input读取不到$_GET数据。是由于$_GET数据作为query_path写在http恳求头部(header)的PATH字段,而不是写在http恳求的body局部。