PHP是一種高階程式語言,可以透過接收輸入值來操作和處理資料。在PHP中,有許多全域數組可以用來接收輸入值。本文將介紹PHP中常用的全域數組,並討論它們的特性和用法。
$_GET是PHP的一種超級全域變量,用來接收HTTP GET請求的參數。 HTTP GET請求是一種請求方式,用於從伺服器取得資源。這些請求參數以鍵值對的形式傳遞到伺服器端。當使用get方式提交表單時,表單中的資料就會自動加入$_GET陣列。例如:
當提交表單時,PHP會在$_GET陣列中新增鍵值對,如下所示:
Array
(
[name] => John [email] => john@example.com
)
取得$_GET陣列中的參數時,可以使用下面的程式碼:
$name = $_GET['name'];
$email = $_GET['email'];
需要注意的是,$_GET陣列中的所有鍵值對都是字串類型。
$_POST是PHP的另一個超級全域變量,用於接收HTTP POST請求的參數。 HTTP POST請求也是一種請求方式,用於提交資料到伺服器接收。與$_GET相比,$_POST發送的請求參數不會暴露在URL網址列中。當使用post方式提交表單時,表單中的資料就會自動加入$_POST陣列。例如:
當提交表單時,PHP會在$_POST數組中新增鍵值對,如下所示:
Array
(
[name] => John [email] => john@example.com
)
取得$_POST數組中的參數時,可以使用下面的程式碼:
$name = $_POST['name'];
$email = $_POST['email'];
與$_GET相比,$_POST更安全,因為參數不會暴露在網址列中,但是它的速度比$_GET慢。
$_FILES也是PHP的一種超級全域變量,用於接收HTTP POST請求的檔案上傳。透過HTTP POST請求,可以將要上傳的檔案傳送到伺服器端。當使用檔案上傳表單時,表單中的資料就會被自動加入到$_FILES陣列中。例如:
當提交表單並選擇要上傳的檔案時,PHP會在$_FILES陣列中新增屬性,如下所示:
Array
(
[fileToUpload] => Array ( [name] => example.jpg [type] => image/jpeg [tmp_name] => /tmp/phpVJcax8 [error] => 0 [size] => 69130 )
)
#取得上傳的檔案時,可以使用下面的程式碼:
$target_dir = "uploads/";
$target_file = $target_dir .basename($_FILES"fileToUpload");
move_uploaded_file ($_FILES["fileToUpload"]["tmp_name"], $target_file);
要注意的是,上傳的檔案會被儲存到伺服器指定的資料夾中。
$_COOKIE是PHP的一種超級全域變量,用於接收儲存在客戶端電腦上的cookie值。 Cookie是一個小的文字文件,儲存在客戶端電腦上,用於與伺服器進行資料互動。在PHP中,可以使用setcookie()函數設定cookie值。當設定cookie後,可以使用$_COOKIE陣列接收cookie值。例如:
setcookie("user", "John Doe", time() 3600, "/"); // 設定cookie
echo $_COOKIE["user"]; // 輸出cookie值
在上面的程式碼中,setcookie()函數設定了一個名為“user”的cookie,它的值為“John Doe”,在設定時間一小時後過期。在echo語句中,$_COOKIE陣列接收了名為「user」的cookie的值,並輸出該值。
要注意的是,使用$_COOKIE陣列取得cookie值時,不需要引用cookie名稱。
$_SESSION也是PHP的一種超級全域變量,用於儲存會話資料。會話資料是一個比cookie更安全的儲存資料的方式。使用$_SESSION變數時,將資料儲存在伺服器端,而不是儲存在客戶端電腦上。在PHP中,可以透過session_start()函數啟動會話。例如:
session_start();
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
在上面的程式碼中,session_start()函數啟動了一個會話,並透過$_SESSION["favcolor"]和$_SESSION["favanimal"]變數儲存了兩個值。在輸出語句中,$_SESSION數組接收了兩個變數的值,並且輸出。
要注意的是,使用$_SESSION陣列取得會話資料時,需要在腳本中使用session_start()函數啟動會話。
總結:
在PHP中,可以使用五種全域陣列:$_GET、$_POST、$_FILES、$_COOKIE和$_SESSION,來接收從客戶端提交的資料。使用這些全域數組,可以輕易地取得客戶端提交的數據,並進行各種數據處理操作。在使用全域數組時,需要注意變數名的大小寫和資料類型的轉換。
以上是php接收值全域數組有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!