PHP函数import_request_variables()用法分析


Posted in PHP onApril 02, 2016

本文实例分析了PHP函数import_request_variables()用法。分享给大家供大家参考,具体如下:

import_request_variables 函数可以在 register_global = off 时,把 GET/POST/Cookie 变量导入全局作用域中。

描述

bool import_request_variables ( string types [, string prefix])

将 GET/POST/Cookie 变量导入到全局作用域中。如果你禁止了 register_globals,但又想用到一些全局变量,那么此函数就很有用。

你可以使用 types 参数指定需要导入的变量。可以用字母'G'、'P'和'C'分别表示 GET、POST 和 Cookie。这些字母不区分大小写,所以你可以使用'g'、'p'和'c'的任何组合。POST 包含了通过 POST 方法上传的文件信息。注意这些字母的顺序,当使用“gp”时,POST 变量将使用相同的名字覆盖 GET 变量。任何 GPC 以外的字母都将被忽略。

prefix 参数作为变量名的前缀,置于所有被导入到全局作用域的变量之前。所以如果你有个名为“userid”的 GET 变量,同时提供了“pref_”作为前缀,那么你将获得一个名为 $pref_userid 的全局变量。

如果你对导入其它全局变量(例如 SERVER 变量)感兴趣,请考虑使用 extract()。

注: 虽然 prefix 参数是可选的,但如果不指定前缀,或者指定一个空字符串作为前缀,你将获得一个 E_NOTICE 级别的错误。使用默认错误报告级别是不显示注意(Notice)级别的错误的。

<?php
// This will import GET and POST vars
// with an "rvar_" prefix
import_request_variables("gp", "rvar_");
echo $rvar_foo;
?>

使用import_request_variables()函数可以有选择地注册全局变量集合。你可以使用该函数导入 $_GET、$_POST和$_COOKIE的值,还可以为每个导入的变量添加前缀(prefix)。

参数中types字符串中允许为g、p、c字符,或者3个字符间任意的组合。其中,“g”表示GET变量,“p”表示POST变量,“c”表示cookies。注意:3个字符的排列顺序是有区别的,当使用“pg”时,POST变量将使用相同的名字覆盖$_GET变量;反之,当使用“gp”时,$_GET变量数组将优先于$_POST。

使用import_request_variable()函数实现变量导入的脚本例子如下:

//导入POST提交的变量值,前缀为post_
import_request_variable("p", "post_");
//导入GET和POST提交的变量值,前缀为gp_,GET优先于POST
import_request_variable("gp", "gp_");
//导入Cookie和GET的变量值,Cookie变量值优先于GET
import_request_variable("cg", "cg_");

如果我们在import_request_variables()函数中使用了“pg参数”,请看如下脚本实例:

<?php
if(isset($_REQUEST['btn_submit'])){
echo "正常取得的表单POST变量值:".$_REQUEST['Username']."<br />";
import_request_variables("pg", "import_");
//显示导入的变量名称
echo "使用import_request_variables函数导入的变量值:".$import_Username;
}
?>
<form id="test_form" name="test_form" method="POST" action="">
请输入您的名字:
<label>
<input type="text" name="Username" id="Username" />
</label>
<label>
<input type="submit" name="btn_submit" id="btn_submit" value="提交" />
</label>
<br />
</form>

该表单提示用户输入一个名字,完成并提交后,脚本会把提交的名字显示在浏览器上。

注意:prefix前缀参数是必选的,如果未指定前缀,或者指定一个空字符串作为变量前缀,PHP会抛出一个E_NOTICE错误。

import_request_variables()函数为我们提供一个中间方法,适用于如下几种情况:

1. 当用户不能使用超级变量数组时;
2. 在php.ini配置文件的register_globals参数为Off(PHP 5之后的版本默认为Off)时,使用import_request_variables将GET/POST/Cookie这几个超级变量数组导入到全局作用域中。
3. 在开发时,只要声明了引入的变量范围,就不必写$_GET或$_REQUEST一堆很长的超级全局数组名称了。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
一个程序下载的管理程序(一)
Oct 09 PHP
php获得当前的脚本网址
Dec 10 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
PHP获取当前相对于域名目录的方法
Jun 26 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
PHP数组函数array_multisort()用法实例分析
Apr 02 #PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 #PHP
PHP递归实现层级树状展开
Apr 01 #PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 #PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 #PHP
PHP全局变量与超级全局变量区别分析
Apr 01 #PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 #PHP
You might like
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
前端性能优化及技巧
2016/05/06 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
浅谈function(函数)中的动态参数
2017/04/30 Python
Django权限机制实现代码详解
2018/02/05 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
工作自我评价怎么写
2014/01/29 职场文书
工地安全检查制度
2014/02/04 职场文书
学生操行评语大全
2014/04/24 职场文书
酒店节能减排方案
2014/05/26 职场文书
妇女工作先进事迹
2014/08/17 职场文书
普通话演讲稿
2014/09/03 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
利用python调用摄像头的实例分析
2021/06/07 Python