Heim > Backend-Entwicklung > PHP-Tutorial > php中php://input和$_POST有什么不同_PHP教程

php中php://input和$_POST有什么不同_PHP教程

WBOY
Freigeben: 2016-07-13 10:39:24
Original
820 Leute haben es durchsucht

   我们先来看两个实例

  例子:php://input

 代码如下  

 

 
 
 
 

  post.php

 代码如下  

  echo file_get_contents("php://input");?>

  例子,post

  html

 代码如下  


Enter your name:
Enter your age:

  welcome.php

 代码如下  
Welcome .

You are 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部分。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/730226.htmlTechArticle我们先来看两个实例 例子:php://input 代码如下 form action=post.php method=post input type=text name=user input type=password name=password input type=submit /form p...
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage