溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

PHP如何使用在全部作用域中始終可用的內(nèi)置變量

發(fā)布時(shí)間:2022-02-22 10:48:42 來(lái)源:億速云 閱讀:142 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹PHP如何使用在全部作用域中始終可用的內(nèi)置變量,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

PHP 超全局變量
超全局變量 在 PHP 4.1.0 中引入,是在全部作用域中始終可用的內(nèi)置變量。
PHP 中的許多預(yù)定義變量都是“超全局的”,它們?cè)谝粋€(gè)腳本的全部作用域中都可用。
這些超全局變量在函數(shù)或方法中無(wú)需執(zhí)行 "global $variable;" 就可以訪(fǎng)問(wèn)它們。

$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION


$GLOBALS — 引用全局作用域中可用的全部變量
$GLOBALS 用于在 PHP 腳本中的任意位置訪(fǎng)問(wèn)全局變量(從函數(shù)或方法中均可)。
PHP 在名為 $GLOBALS[index] 的數(shù)組中存儲(chǔ)了所有全局變量。變量的名字就是數(shù)組的鍵。

<?php 
    $x = 75; 
    $y = 25;
 
    function addition() { 
        $GLOBALS["z"] = $GLOBALS["x"] + $GLOBALS["y"]; 
    }
 
    addition(); 
    echo $z; 
?>

注釋?zhuān)涸谏厦娴睦又?,由?z 是 $GLOBALS 數(shù)組中的變量,因此在函數(shù)之外也可以訪(fǎng)問(wèn)它。

PHP $_SERVER
$_SERVER 這種超全局變量保存關(guān)于報(bào)頭、路徑和腳本位置的信息。

<?php 
    echo $_SERVER["PHP_SELF"];
    echo "<br>";
    echo $_SERVER["SERVER_NAME"];
    echo "<br>";
    echo $_SERVER["HTTP_HOST"];
    echo "<br>";
    echo $_SERVER["HTTP_REFERER"];
    echo "<br>";
    echo $_SERVER["HTTP_USER_AGENT"];
    echo "<br>";
    echo $_SERVER["SCRIPT_NAME"];
?>

注釋?zhuān)罕緦?shí)例使用了 $_SERVER 中的某些元素。能夠在 $_SERVER 中訪(fǎng)問(wèn)的重要元素如下:

$_SERVER["PHP_SELF"] // 返回當(dāng)前執(zhí)行腳本的文件名
$_SERVER["GATEWAY_INTERFACE"] // 返回服務(wù)器使用的 CGI 規(guī)范的版本
$_SERVER["SERVER_ADDR"] // 返回當(dāng)前運(yùn)行腳本所在的服務(wù)器的 IP 地址
$_SERVER["SERVER_NAME"] // 返回當(dāng)前運(yùn)行腳本所在的服務(wù)器的主機(jī)名
$_SERVER["SERVER_SOFTWARE"] // 返回服務(wù)器標(biāo)識(shí)字符串
$_SERVER["SERVER_PROTOCOL"] // 返回請(qǐng)求頁(yè)面時(shí)通信協(xié)議的名稱(chēng)和版本
$_SERVER["REQUEST_METHOD"] // 返回訪(fǎng)問(wèn)頁(yè)面使用的請(qǐng)求方法
$_SERVER["REQUEST_TIME"] // 返回請(qǐng)求開(kāi)始時(shí)的時(shí)間戳
$_SERVER["QUERY_STRING"] // 返回查詢(xún)字符串,如果是通過(guò)查詢(xún)字符串訪(fǎng)問(wèn)此頁(yè)面
$_SERVER["HTTP_ACCEPT"] // 返回來(lái)自當(dāng)前請(qǐng)求的請(qǐng)求頭
$_SERVER["HTTP_ACCEPT_CHARSET"] // 返回來(lái)自當(dāng)前請(qǐng)求的 Accept_Charset 頭
$_SERVER["HTTP_HOST"] // 返回來(lái)自當(dāng)前請(qǐng)求的 Host 頭
$_SERVER["HTTP_REFERER"] // 返回當(dāng)前頁(yè)面的完整 URL(不可靠)
$_SERVER["HTTPS"] // 是否通過(guò)安全 HTTP 協(xié)議查詢(xún)腳本
$_SERVER["REMOTE_ADDR"] // 返回瀏覽當(dāng)前頁(yè)面的用戶(hù)的 IP 地址
$_SERVER["REMOTE_HOST"] // 返回瀏覽當(dāng)前頁(yè)面的用戶(hù)的主機(jī)名
$_SERVER["REMOTE_PORT"]	 // 返回用戶(hù)機(jī)器上連接到 Web 服務(wù)器所使用的端口號(hào)
$_SERVER["SCRIPT_FILENAME"] // 返回當(dāng)前執(zhí)行腳本的絕對(duì)路徑
$_SERVER["SERVER_ADMIN"] // 指明 Apache 服務(wù)器配置文件中的 SERVER_ADMIN 參數(shù)
$_SERVER["SERVER_PORT"] // Web 服務(wù)器使用的端口,默認(rèn)值為 80
$_SERVER["SERVER_SIGNATURE"] // 返回服務(wù)器版本和虛擬主機(jī)名
$_SERVER["PATH_TRANSLATED"] // 當(dāng)前腳本所在文件系統(tǒng)(非文檔根目錄)的基本路徑
$_SERVER["SCRIPT_NAME"] // 返回當(dāng)前腳本的路徑
$_SERVER["SCRIPT_URI"] // 返回當(dāng)前頁(yè)面的 URI


PHP $_REQUEST
PHP $_REQUEST 用于收集 HTML 表單提交的數(shù)據(jù)。

<html>
<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    Name: <input type="text" name="fname">
    <input type="submit">
</form>
<?php 
    $name = $_REQUEST["fname"]; 
    echo $name; 
?>
</body>
</html>

注釋?zhuān)罕緦?shí)例展示了一個(gè)包含輸入字段及提交按鈕的表單。
    當(dāng)用戶(hù)通過(guò)點(diǎn)擊提交按鈕來(lái)提交表單數(shù)據(jù)時(shí), 表單數(shù)據(jù)將發(fā)送到 <form> 標(biāo)簽的 action 屬性中指定的腳本文件。在這個(gè)例子中,我們指定文件本身來(lái)處理表單數(shù)據(jù)。如果您需要使用其他的 PHP 文件來(lái)處理表單數(shù)據(jù),請(qǐng)修改為您選擇的文件名即可。然后,我們可以使用超級(jí)全局變量 $_REQUEST 來(lái)收集 input 字段的值。

PHP $_POST
PHP $_POST 廣泛用于收集提交 method="post" 的 HTML 表單后的表單數(shù)據(jù)。
$_POST 也常用于傳遞變量。

<html>
<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    Name: <input type="text" name="fname">
    <input type="submit">
</form>
<?php 
    $name = $_POST["fname"]; 
    echo $name; 
?>
</body>
</html>

注釋?zhuān)罕緦?shí)例展示了一個(gè)包含輸入字段和提交按鈕的表單。
    當(dāng)用戶(hù)點(diǎn)擊提交按鈕來(lái)提交數(shù)據(jù)后,表單數(shù)據(jù)會(huì)發(fā)送到 <form> 標(biāo)簽的 action 屬性中指定的文件。在本例中,我們指定文件本身來(lái)處理表單數(shù)據(jù)。如果您希望使用另一個(gè) PHP 頁(yè)面來(lái)處理表單數(shù)據(jù),請(qǐng)用更改為您選擇的文件名。然后,我們可以使用超全局變量 $_POST 來(lái)收集輸入字段的值。

PHP $_GET
PHP $_GET 也可用于收集提交 HTML 表單 (method="get") 之后的表單數(shù)據(jù)。
$_GET 也可以收集 URL 中的發(fā)送的數(shù)據(jù)。假設(shè)我們有一張頁(yè)面含有帶參數(shù)的超鏈接:

<html>
<body>
<a href="test_get.php?subject=PHP&web=HuluMiao.cn">測(cè)試 $GET</a>
</body>
</html>

注釋?zhuān)寒?dāng)用戶(hù)點(diǎn)擊鏈接 "測(cè)試 $GET",參數(shù) "subject" 和 "web" 被發(fā)送到 "test_get.php"。
然后就能夠通過(guò) $_GET 在 "test_get.php" 中訪(fǎng)問(wèn)這些值了。"test_get.php" 中的代碼如下:

<html>
<body>
<?php 
    echo "Study " . $_GET["subject"] . " at " . $_GET["web"];
?>
</body>
</html>

以上是“PHP如何使用在全部作用域中始終可用的內(nèi)置變量”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI