php接收参数及获取post原数据的方法

发布时间:2020-11-17编辑:脚本学堂
本文介绍下,在php编程中,接收参数的几种方式,以及如何获取post原始数据的方法,有需要的朋友,参考下吧。

初学php的朋友,最容易在这一块有困惹,就是不知道如何接收页面或url中的参数值。
在PHP5中,默认接收参数传递的值时,会考虑使用:
 

$_GET['value'];
$_POST['value'];

如果在PHP.ini配置文件中,将register_globals = Off,修改为:register_globals = on,那么就可以直接使用,$value的值。
不过,为了安全起见,我们不推荐这样做。

下面,介绍下PHP获取Post的原始数据的方法。

php编程中,一般都用$_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原始数据。

最后,我们探讨下有关php中页面调用的一些问题。

在php中,调用其它页面,一般会考虑使用require()与require_once()。
   
一般就放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require所指定引入的文件,如果出现错误是致命的。

再来看include()与include_once()。   
可以放在 PHP 程序的任何一个位置,PHP 程序在执行到时,才会先读入include 所指定引入的文件,如果出现错误将会提示。

有关php中include与require的深入探讨,可以参考文章:php中的include()与require()的对比分析

以下是简单的示例:
 

复制代码 代码示例:
<?php
require('my_conn.php');
include('my_conn.php');
?>