Computer >> Máy Tính >  >> Lập trình >> PHP

Các biến xác định trước trong PHP

Giới thiệu

Bất kỳ tập lệnh PHP nào cũng có quyền truy cập vào một số biến được xác định trước. Tuy nhiên, nhiều người trong số họ phụ thuộc vào phần mềm máy chủ web, phiên bản PHP và các yếu tố khác. Một số biến trong số này không có sẵn cho tập lệnh chạy ở chế độ dòng lệnh. Biến $ GLOBALS lưu trữ các tham chiếu của tất cả các biến thể được xác định trước có sẵn trên toàn cầu. Hầu hết các biến này được hiển thị bởi phpinfo.php Một số biến xác định trước thường được sử dụng được giải thích ở đây.

$ _SERVER

Đây là một biến mảng chứa thông tin về tiêu đề HTTP, tập lệnh và môi trường. Sau đây là một số thành viên nổi bật của mảng này

PHP_SELF - lưu trữ tên tệp của tập lệnh hiện đang thực thi. Ví dụ:một tập lệnh trong thư mục thử nghiệm của gốc tài liệu của máy chủ cục bộ trả về đường dẫn của nó như sau -

Ví dụ

<?php
echo $_SERVER['PHP_SELF'];
?>

Đầu ra

Điều này dẫn đến kết quả sau trong trình duyệt với URL https://localhost/test/testscript.php

/test/testscript.php

SERVER_ADDR - Thuộc tính mảng này trả về Địa chỉ IP của máy chủ mà tập lệnh hiện tại đang thực thi.

SERVER_NAME - Tên của máy chủ lưu trữ máy chủ mà tập lệnh hiện tại đang thực thi. Trong trường hợp máy chủ chạy cục bộ, localhost có lỗi được trả lại

QUERY_STRING - Chuỗi truy vấn là chuỗi các cặp key =value được phân tách bằng ký hiệu &và được nối vào URL sau? Biểu tượng. Ví dụ: https:// localhost / testscript? Name =xyz &age =20 URL trả về chuỗi truy vấn theo sau

REQUEST_METHOD - Phương thức yêu cầu HTTP được sử dụng để truy cập một URL, chẳng hạn như POST, GET, POST, PUT hoặc DELETE. Trong ví dụ về chuỗi truy vấn ở trên, một URL được đính kèm với chuỗi truy vấn wirh? biểu tượng yêu cầu trang với phương thức GET

DOCUMENT_ROOT - trả về tên của thư mục trên máy chủ được cấu hình làm tài liệu gốc. Trên máy chủ apache XAMPP, nó trả về htdocs dưới dạng tên của gốc tài liệu

C:/xampp/htdocs

DOCUMENT_ROOT - Đây là một chuỗi biểu thị tác nhân người dùng (trình duyệt) đang truy cập trang.

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

REMOTE_ADDR - Địa chỉ IP của máy mà người dùng đang xem trang hiện tại.

SERVER_PORT - số cổng mà máy chủ web đang lắng nghe yêu cầu đến. Mặc định là 80

$ _GET

Theo mặc định, trình duyệt máy khách gửi yêu cầu URL trên máy chủ bằng phương thức HTTP GET. Chuỗi truy vấn được đính kèm với URL có thể chứa các cặp key =value được nối bằng &ký hiệu. Mảng liên kết $ _GET lưu trữ các cặp giá trị khóa này

Giả sử rằng URL trong trình duyệt là https:// localhost / testscript? Name =xyz &age =20

Ví dụ

<?php
echo "Name : " . $_GET["name"] . "<br>";
echo "Age : " . $_GET["age"];
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Name : xyz
Age : 20

$ _POST

Một mảng kết hợp của các cặp khóa-giá trị được chuyển đến URL bằng phương thức HTTP POST sử dụng kiểu nội dung URLEncoded hoặc nhiều phần / biểu mẫu-dữ liệu trong yêu cầu.

Dữ liệu được gửi tới một tập lệnh PHP bằng phương thức POST bằng cách chỉ định action =POST trong một biểu mẫu HTML test.html như bên dưới -

<form action="testscript.php" method="POST">
<input type="text" name="name">
<input type="text" name="age">
<input type ="submit" valaue="submit">
</form>

Tập lệnh PHP như sau -

Ví dụ

<?php
echo "Name : " . $_POST["name"] . "<br>";
echo "Age : " . $_POST["age"];
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Name : xyz
Age : 20

$ _FILES

Biến này là một mảng kết hợp chứa các mục được tải lên qua phương thức HTTP POST. Tải lên tệp yêu cầu biểu mẫu phương thức HTTP POST với thuộc tính enctype được đặt thành nhiều phần / biểu mẫu-dữ liệu.

<form action="testscript.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type ="submit" valaue="submit">
</form>

Trong tập lệnh PHP, biến _FILES được truy cập như sau -

Ví dụ

<?php
print_r($_FILES);
?>

Đầu ra

Array ( [file] => Array ( [name] => hello.html [type] => text/html [tmp_name] => C:\xampp\tmp\php9647.tmp [error] => 0 [size] => 56 ) )

$ _REQUEST

Biến này là một mảng kết hợp cung cấp nội dung của các biến được xác định trước $ _GET, $ _POST và $ _COOKIE.

$ _SESSION

Biến này là một mảng liên kết của các biến đại diện cho phiên HTTP.

$ _ENV

Một mảng các biến môi trường tạo thành biến được xác định trước này. Các biến này được nhập vào không gian tên chung của PHP.

$ _COOKIE

Máy chủ có thể lưu trữ một số dữ liệu nhất định trong máy tính của khách hàng dưới dạng cookie. Các cookie này được truyền đi mỗi khi có yêu cầu. Biến _COOKIE là một mảng liên kết của các biến cookie và giá trị của chúng.