PHP输入流php://input实例讲解

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP输入流php://input实例讲解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

对于PHP://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。

PHP://input allows you to read raw POST data. IT is a less memory intensive alternative to$HTTP_RAW_POST_DATA and does not need any sPEcial PHP.ini directives. PHP://input is not available with enctype=”multipart/form-data”.

翻译过来,是这样:

PHP://input可以读取没有处理过的POST数据。相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要特 殊的PHP.ini设置。PHP://input不能用于enctype=multipart/form-data” 总结如下:

  • 1)、Coentent-type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,PHP才会将http请求数据包中相应的数据填入全局变量$_POST
  • 2)、PHP不能识别的Content-Type类型的时候,会将http请求包中相应的数据填入变量$HTTP_RAW_POST_DATA
  • 3)、只有Coentent-Type为multipart/form-data的时候,PHP不会将http请求数据包中的相应数据填入PHP://input,否则其它情况都会。填入的长度,由Coentent-Length指定。
  • 4)、只有Content-Type为application/x-www-data-urlencoded时,PHP://input数据才跟$_POST数据相一致。
  • 5)、PHP://input数据总是跟$HTTP_RAW_POST_DATA相同,但是PHP://input比$HTTP_RAW_POST_DATA更凑效,且不需要特殊设置PHP.ini
  • 6)、PHP会将PATH字段的query_path部分,填入全局变量$_GET。通常情况下,GET方法提交的http请求,body为空。

总结起来就是,在用$_POST获取不到由APP或者一些接口的回调数据时,就用PHP://input试试

1、接受XMl数据

<PRe class="brush:PHp;"> //发送xML数据 $xml = 'xmldata';//要发送的xml $url = 'http://localhost/test/getXML.PHP';//接收XML地址 $header = 'Content-type: text/xml';//定义content-type为xml $ch = curl_init(); //初始化curl curl_setopt($ch,CURLOPT_URL,$url);//设置@L_360_30@ curl_setopt($ch,CURLOPT_RETURNtransfer,1);//设置是否返回信息 curl_setopt($ch,CURLOPT_HTTPHEADER,$header);//设置HTTP头 curl_setopt($ch,CURLOPT_POST,1);//设置为POST方式 curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);//POST数据 $response = curl_exec($ch);//接收返回信息 if(curl_errno($ch)){//出错则显示错误信息 print curl_error($ch); } curl_close($ch); //关闭curl链接 echo $response;//显示返回信息

// PHPfile_get_contents("PHP://input")或者$HTTP_RAW_POST_DATA可以接收xml数据
$xmldata = file_get_contents("PHP://input");
$data = (array)simplexml_load_string($xmldata);

脚本宝典总结

以上是脚本宝典为你收集整理的PHP输入流php://input实例讲解全部内容,希望文章能够帮你解决PHP输入流php://input实例讲解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:输入流