首頁 > 後端開發 > PHP問題 > php接收值全域數組有哪些

php接收值全域數組有哪些

PHPz
發布: 2023-04-26 09:24:29
原創
851 人瀏覽過

PHP是一種高階程式語言,可以透過接收輸入值來操作和處理資料。在PHP中,有許多全域數組可以用來接收輸入值。本文將介紹PHP中常用的全域數組,並討論它們的特性和用法。

  1. $_GET

$_GET是PHP的一種超級全域變量,用來接收HTTP GET請求的參數。 HTTP GET請求是一種請求方式,用於從伺服器取得資源。這些請求參數以鍵值對的形式傳遞到伺服器端。當使用get方式提交表單時,表單中的資料就會自動加入$_GET陣列。例如:

Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
登入後複製
登入後複製

當提交表單時,PHP會在$_GET陣列中新增鍵值對,如下所示:

Array
(

[name] => John
[email] => john@example.com
登入後複製
登入後複製

)

取得$_GET陣列中的參數時,可以使用下面的程式碼:

$name = $_GET['name'];
$email = $_GET['email'];

需要注意的是,$_GET陣列中的所有鍵值對都是字串類型。

  1. $_POST

$_POST是PHP的另一個超級全域變量,用於接收HTTP POST請求的參數。 HTTP POST請求也是一種請求方式,用於提交資料到伺服器接收。與$_GET相比,$_POST發送的請求參數不會暴露在URL網址列中。當使用post方式提交表單時,表單中的資料就會自動加入$_POST陣列。例如:

Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
登入後複製
登入後複製

當提交表單時,PHP會在$_POST數組中新增鍵值對,如下所示:

Array
(

[name] => John
[email] => john@example.com
登入後複製
登入後複製

)

取得$_POST數組中的參數時,可以使用下面的程式碼:

$name = $_POST['name'];
$email = $_POST['email'];

與$_GET相比,$_POST更安全,因為參數不會暴露在網址列中,但是它的速度比$_GET慢。

  1. $_FILES

$_FILES也是PHP的一種超級全域變量,用於接收HTTP POST請求的檔案上傳。透過HTTP POST請求,可以將要上傳的檔案傳送到伺服器端。當使用檔案上傳表單時,表單中的資料就會被自動加入到$_FILES陣列中。例如:

Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
登入後複製

當提交表單並選擇要上傳的檔案時,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);

要注意的是,上傳的檔案會被儲存到伺服器指定的資料夾中。

  1. $_COOKIE

$_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名稱。

  1. $_SESSION

$_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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板