PHP获取POST的原始内容

 我们使用PHP的时候,经常会用$_POST这个全局变量来获取用户POST过来的数据。但这其实隐含了一个事情,就是用户提交过来的HTTP请求的头部有有一个字段为Content-Type:application/x-www-form-urlencoded或multipart/form-data

 如果用户提交过来的数据是JSON格式的呢?

这个时候PHP就没有办法再帮我们做这件事情了,此时$_POST将会是一个空的数组,我们需要自己来处理用户提交的数据。其实非常简单, 代码如下:

<?php
$postStr = file_get_contents("php://input");

 $postStr这个变量中已然保存了用户放到POST中的数据。

除了解析JSON数据还有什么用呢。我想到的一个非常经典的场景是上传文件。

在HTML5中可以拖曳一个图片到网页中,然后在见面中实现预览。然后用户可以对这个图片做一些操作之后就可以上传这个图片了。此时我们可以得到这个新图片的base64编码,然后就可以直接把图片的数据放到body里面上传了。在PHP端就可以用上面的方法取出文件的内容。



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 16765