zoukankan      html  css  js  c++  java
  • php://input,$_POST,$HTTP_RAW_POST_DATA区别

    1. 我们先来看两个demo

      例子:php://input

      代码如下

      php://input,$_POST,$HTTP_RAW_POST_DATA区别
    2.  

      post.php

      代码如下

      php://input,$_POST,$HTTP_RAW_POST_DATA区别
    3.  

      例子:$_post

      代码如下

      php://input,$_POST,$HTTP_RAW_POST_DATA区别
    4.  

      welcome.php

      代码如下

      php://input,$_POST,$HTTP_RAW_POST_DATA区别
    5.  

      再来看$GLOBALS ["HTTP_RAW_POST_DATA"]

      php://input,$_POST,$HTTP_RAW_POST_DATA区别
    6. 6

      通过 HTTP POST 发送的变量不会显示在 URL 中。

        当我们用$_POST接受不到页面传过来信息时,我们可以用php://input去接受值,那么他俩有什么区别

        首先当$_POST 与 php://input可以取到值时$HTTP_RAW_POST_DATA 为空;

        $http_raw_post_data是PHP内置的一个全局变量。它用于,PHP在无法识别的Content-Type的情况下,将POST过来的数据原样地填入变量$http_raw_post_data。它同样无法读取Content-Type为multipart/form-data的POST数据。需要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变量$http_raw_post_data。

        然后$_POST以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换;

    7. 7

      而php://input 通过输入流以文件读取方式取得未经处理的POST原始数据;

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

        php://input读取不到$_GET数据。是因为$_GET数据作为query_path写在http请求头部(header)的PATH字段,而不是写在http请求的body部分。

  • 相关阅读:
    jQuery Ajax 全解析
    据说:2010年最佳Flash网站
    SWFKit 3.5 + 注册机
    几何算法
    不错的3d切换
    常见程式算法推演
    未知
    3d地形与道路
    在3D世界中创建不同的相机模式——创建一个第一人称射击游戏(FPS)的相机:Quake风格的相机
    在3D世界中创建不同的相机模式——天空盒
  • 原文地址:https://www.cnblogs.com/lhat/p/5615918.html
Copyright © 2011-2022 走看看