文档章节

PHP 获取POST的最原始数据方法

Junn
 Junn
发布于 2013/07/30 01:46
字数 270
阅读 4231
收藏 23

一般我们都用$_POST或$_REQUEST两个预定义变量来接收POST提交的数据。但如果提交的数据没有变量名,而是直接的字符串,则需要使用其他的方式来接收。

方法一: 使用全局变量$GLOBALS['HTTP_RAW_POST_DATA']来获取。

在$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。而$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以后的数据。 但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时 必须显式示指明Content-Type: application/x-www-form-urlencoded,POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。

方法二: 使用file_get_contents(“php://input”)来获取。

对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。

事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括二进制文件流也可以。

所以用方法二是最保险的方法。


四种常见的POST提交数据方式

本文转载自:http://www.webtiro.com/2977.html

共有 人打赏支持
Junn
粉丝 145
博文 412
码字总数 288918
作品 0
海淀
高级程序员
php post获取所有提交

php获取post参数的几种方式 1、$POST['paramName'] 只能接收Content-Type: application/x-www-form-urlencoded提交的数据 2、filegetcontents("php://input") 适用大多数类型的Content-type ......

bo-少
2016/05/05
37
0
file_get_contents("php://input")的使用方法

$data = filegetcontents("php://input"); php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTPRAWPOSTDATA,因为它不依赖于特定的 ph...

leycau
2015/10/20
3.7K
0
php获取输入流

uc中的用到的代码(在api/uc.php)代码: $post = xmlunserialize(fileget_contents('php://input')); php手册(http://cn.php.net/manual/zh/wrappers.php.php)说明: php://input allows ......

wangtaotao
2011/02/16
0
0
php://input、$_POST 和 $HTTP_RAW_POST_DATA 的区别与详解

PHP 用于开发 webservice 的 API 接口与客户端做数据交互时不一定会使用 PHP 可以处理的数据格式进行通信,比如 API 常用的 json xml,在此场景下我们需要使用其他的方式获取客户端发来的数据...

big_cat
2016/03/04
235
0
一句话***(webshell)是如何执行命令的

在很多的*过程中,人员会上传一句话(简称webshell)到目前web服务目录继而提权获取系统权限,不论asp、php、jsp、aspx都是如此,那么一句话*到底是如何执行的呢,下面我们就对webshell进行一...

Tar0
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序开发系列六:微信框架API的调用

微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发...

JerryWang_SAP
43分钟前
4
0
5 个用 Python 编写 web 爬虫的方法

大家在读爬虫系列的帖子时常常问我怎样写出不阻塞的爬虫,这很难,但可行。通过实现一些小策略可以让你的网页爬虫活得更久。那么今天我就将和大家讨论这方面的话题。 我刚整理了一套2018最新...

糖宝lsh
43分钟前
6
0
docker安装redis、mongodb、mysql等

一、启动docker服务,设置镜像: systemctl start dockervi /etc/docker/daemon.json{ "registry-mirrors": ["https://registry.docker-cn.com"]} 二、下拉镜像: 在镜像中心h...

狼王黄师傅
今天
5
0
deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQBrowser.exedeepin-wine QQMusicSetup.exe 默认安装的快捷方式位置: /root/.wine/drive_c/'Program Files'/Tencent/QQBrowser/......

临江仙卜算子
今天
4
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部