PHP7語言基礎——系統預定義數組

$_SERVER

$_SERVER是一個包含了注入頭信息(header)、路徑(path)及腳本位置(script locations)等信息的數組,這個數組中的項目由web服務器創建。不能保證每個服務器都會提供全部項目,服務器可能會忽略一些,或者提供一些沒有在此處列舉出來的項目。

數組元素 說明
$_SERVER[‘PHP_SELF’] 當前執行腳本的文件名,與document root有關。如,在地址爲http://example.com/text.php/foo.bar的腳本中使用$_SERVER[‘PHP_SELF’]將得到/test.php/foo.bar
$_SERVER[‘SERVER_ADDR’] 當前運行腳本所在服務器的IP地址
$_SERVER[‘SERVER_NAME’] 當前運行腳本所在服務器的主機名。如果腳本運行與虛擬主機中,該名稱就由那個虛擬主機所設置的值決定。
$_SERVER[‘SERVER_PROTOCOL’] 請求頁面時通信協議的名稱和版本。如:“HTTP/1.0”
$_SERVER[‘REQUEST_METHOD’] 訪問頁面使用的請求方法,如GET、HEAD、POST、PUT
$_SERVER[‘DOCUMENT_ROOT’] 當前運行腳本所在的文檔根目錄。在服務器配置文件中定義
$_SERVER[‘HTTP_ACCEPT_LANGUAGE’] 當前請求頭中Accept-Language項的內容(如果存在)。如:“en”
$_SERVER[‘REMOTE_ADDR’] 瀏覽當前頁面的用戶IP地址,注意與$_SERVER[‘SERVER_ADDR’]的區別
$_SERVER[‘SCRIPT_FILENAME’] 當前執行腳本的絕對路徑
$_SERVER[‘SCRIPT_NAME’] 包含當前腳本的路徑
$_SERVER[‘REQUEST_URI’] URI用來指定要訪問的頁面。例如:“/index.html”
$_SERVER[‘PATH_INFO’] 包含由客戶端提供的、跟在真實腳本名稱之後並且在查詢語句(querystring)之前的路徑信息(如果存在)。

$_GET$_POST數組

$_GET$_POST是PHP中十分重要的兩個數組,在開發過程中,$_GET$_POST像靈魂一樣無處不在。

頁面之間傳遞信息可通過GET和POST兩種方式完成。$_GET$_POST可分別用來接收這兩種方式傳遞過來的數據。

【示例】

創建一個index.html文件,文件代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>GET測試</title>
</head>
<body>
    <form action="get.php" method="get">
        姓名:<input type="text" name="name">
        電話:<input type="text" name="phone">
        <input type="submit" value="提交">
    </form>
</body>
</html>

然後創建get.php文件來處理來自index.html提交過來的數據:

<?php
echo "<pre>get method:<br />";
print_r($_GET);
echo "</pre>";
?>

在瀏覽器中打開index.html得到如下頁面:

在這裏插入圖片描述

提交該頁面後,得到輸出結果:

在這裏插入圖片描述

可以看到$_GET數組中包含了我們輸入的數據。

修改index.html文件中action=“post.php” method=“post”,然後新建post.php,代碼如下:

<?php
echo "<pre>post method:<br />";
print_r($_PSOT);
echo "</pre>";
?>

可以得到相同的結果。

$_FILES數組

$_FILES數組用於獲取通過POST方法上傳文件的相關信息,如果爲單個文件上傳,那麼該數組爲二維數組,如果爲多個文件上傳,那麼該數組爲三維數組。

【示例】

建立一個file.html演示上傳文件,代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>FILES測試</title>
</head>
<body>
    <form enctype="multipart/form-data" action="file.php" method="POST">
        上傳文件:<input name="userfile" type="file">
        <input type="submit" value="上傳">
    </form>
</body>
</html>

新建一個用於接收文件信息的PHP文件file.php,代碼如下:

<?php
echo "<pre>";
print_r($_FILES);
echo "</pre>"
?>

在file.html頁面選擇文件後,單擊上傳按鈕,將會在頁面輸出以下信息:

在這裏插入圖片描述

$_SESSION$_COOKIE數組

$_COOKIE[]全局數組存儲了通過HTTP COOKIE傳遞到腳本的信息,PHP可通過setcookie()函數設置COOKIE的值,用$_COOKIE[]數組接收COOKIE的值,$_COOKIE[]數組的索引爲COOKIE的名稱。

$_SESSION[]數組用於獲取會話變量的相關信息。

$_REQUEST[]數組

默認情況下,$_REQUEST[]數組包含了$_GET$_POST$_COOKIE的數組。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章