php://input 和 $HTTP_ROW_POST_DATE
前言:
年前又换了一家公司。毕业半年,加上之前的实习,第四家公司了。短短半年经历了很多,就这样度过了我的2018。毕业、实习、就业、创业、公司倒闭、频繁跳槽、开工作室净赔。年前自我感觉糟透了,一团糟,别人稳定的就业,自己动荡的半年。不过也懂得了个道理,没有稳定的工作,只有稳定的能力。所以2019继续前行。
今天来记录下前些天碰到的个问题。对接微信H5支付时处理微信回调的参数,接收不到、试着用了POST、GET方式去接收、获取的数据都是空的,一脸懵。检查了很多次代码,测试都是不行的...后来通过postMan测试的demo来接收XML格式的返回数据,接收到的也为空。请教了新公司的前辈,得到--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”
从中引出了两个关键,一个就是php://input读取的是没有处理过的POST数据、也只能是POST。第二个就是引出了两一个接收方式$HTTP_ROW_POST_DATA。