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端就可以用上面的方法取出文件的内容。




[本日志由 admin 于 2015-08-29 09:10 PM 编辑]

有什么问题可以加群,100852896
点击这里加入此群 在线提问
文章来自: 本站原创
Tags: php
评论: 0 | 查看次数: 14344
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭