重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
方法1、最常见的方法是:$_POST['fieldname'];
创新互联从2013年成立,是专业互联网技术服务公司,拥有项目做网站、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元包河做网站,已为上家服务,为包河各地企业和个人服务,联系电话:13518219792
说明:只能接收Content-Type:
application/x-www-form-urlencoded提交的数据
解释:也就是表单POST过来的数据
方法2、file_get_contents("php://input");
说明:
允许读取
POST
的
原始数据
。
和
$HTTP_RAW_POST_DATA
比起来,它给内存带来的压力较小,并且不需要任何特殊的
php.ini
设置。
php://input
不能用于
enctype="multipart/form-data"。
解释:
对于未指定
Content-Type
的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。
事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括
二进制文件
流也可以。
所以用方法二是最保险的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
说明:
总是产生
$HTTP_RAW_POST_DATA
变量包含有原始的
POST
数据。
此变量仅在碰到未识别
MIME
类型的数据时产生。
$HTTP_RAW_POST_DATA
对于
enctype="multipart/form-data"
表单数据不可用
如果post过来的数据不是PHP能够识别的,可以用
$GLOBALS['HTTP_RAW_POST_DATA']来接收,
比如
text/xml
或者
soap
等等
解释:
$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']中
只要把内容输出到编辑器指定的ID区域就可以了,编辑器会自己处理里面的内容。数据库里的内容由php负责读取和输出的。
GET参数是可以的,在地址后面添加文号就写参数,可以从浏览器的地址栏复制,例如下面的代码可以获得本帖子内容:
$str=file_get_contents();
如果是POST的参数那就很麻烦了。
$content = $_POST['data'];
$fp = fopen('/tmp/newfile.bin','w');
fwrite($fp,$content);
以上例子是在data参数上传二进制,并保存到/tmp/newfile.bin中,解析json用json_decode,然后把二进制的那个值赋给content就可以