• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小白菜Caly的程序小屋
记录小白菜成长的脚印
博客园    首页    新随笔    联系   管理    订阅  订阅
PHP 获取 post 中的 json 数据

ext 与 PHP 交互时,ext 把 json 数据 post 给 PHP,但在 PHP里面 $_post 获取不到,$_REQUEST 也获取不到,但是通过 firedebug 看到的请求信息确实是把 JSON 数据 post 给了 PHP。

想到以前通过flash将图片二进制流传给 PHP,然后使用 $GLOBALS['HTTP_RAW_POST_DATA'] 后正常获取到数据。

PHP 默认只识别 application/x-www.form-urlencoded 标准的数据类型,因此,对型如 text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用 $_POST 数组来接收就会失败,故保留原型,交给 $GLOBALS['HTTP_RAW_POST_DATA'] 来接收。

另外还有一项 php://input 也可以实现此这个功能

file_get_contents("php://input");

php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。

posted on 2013-04-11 11:30  Caly pc  阅读(8263)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3