這篇文章主要介紹了PHP函數import_request_variables()用法,結合實例形式分析了import_request_variables函數的功能,定義及相關使用技巧,需要的朋友可以參考下
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()函數為我們提供一個中間方法,適用於下列幾種情況:
2. 在php.ini設定檔的register_globals參數為Off(PHP 5之後的版本預設為Off)時,使用import_request_variables將GET/POST/Cookie這幾個超級變數陣列匯入到全域作用域中。
3. 在開發時,只要宣告了引入的變數範圍,就不必寫$_GET或$_REQUEST一堆很長的超級全域數組名稱了。 總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。 php###中關於長度運算容易混淆的問題簡單分析######以上是PHP函數import_request_variables()用法及實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!