• 技术文章 >后端开发 >php教程

    【PHP】$_POST, $HTTP_RAW_POST_DATA, and php://input,httprawpostdata_PHP教程

    2016-07-12 09:04:20原创478

    【PHP】$_POST, $HTTP_RAW_POST_DATA, and php://input,httprawpostdata


    1、HTML
    enctype Attribute

    For example, the key-value pairs

    name: Jonathan Doe
    age: 23
    formula: a + b == 13%!
    

    are encoded as the following raw data:

    name=Jonathan+Doe&age=23&formula=a+%2B+b+%3D%3D+13%25%21
    

    $_POST

    Array
    (
        [name] => Jonathan Doe
        [age] => 23
        [formula] => a + b == 13%!
    )
    

    $HTTP_RAW_POST_DATA

    print_r($GLOBALS['HTTP_RAW_POST_DATA'] );
    name=Jonathan+Doe&age=23&formula=a+%2B+b+%3D%3D+13%25%21

    php://input

    $post_data = file_get_contents('php://input');
    print_r($post_data);
    
    name=Jonathan+Doe&age=23&formula=a+%2B+b+%3D%3D+13%25%21

    2、$_POST

    $_POST是最常用的获取表单的方式,它是以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换,识别的数据类型是PHP默认识别的数据类型 application/x-www.form-urlencoded

    无法解析如text/xml,application/json等非 application/x-www.form-urlencoded 数据类型的内容

    3、$HTTP_RAW_POST_DATA

    PHP默认识别的数据类型是application/x-www.form-urlencoded,用Content-Type=application/json 类型,提交的POST数据这时候 $_POST 就无法获取到了,但是使用 $GLOBALS['HTTP_RAW_POST_DATA'] 可以获取到。因为在PHP无法识别Content-Type的时候,就会把 POST 数据填入到 $HTTP_RAW_POST_DATA 中。

    4、php://input

    php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据,允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小。

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1073810.htmlTechArticle【PHP】$_POST, $HTTP_RAW_POST_DATA, and php://input,httprawpostdata 1、HTML form enctype Attribute application/x-www-form-urlencoded 传送之前所有的字符都会被encode...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:raw
    上一篇:php学习零散笔记—字符串分割、fetch函数和单双引号。,fetch双引号_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解PHP用流方式实现下载文件(附代码示例)• PHP反序列化入门总结(小白必看)• PHP原生类的总结分享• 聊聊PHP escapeshellarg函数使用的中文问题• 分享PHP函数使用小工具(附代码示例)
    1/1

    PHP中文网