Biến $_SERVER trong PHP là một trong các biến được xác định trước trong PHP, có nghĩa là chúng ta luôn luôn có thể truy cập, bất kể phạm vi và bạn có thể truy cập chúng từ bất kỳ chức năng, lớp hoặc tập tin mà không cần phải làm bất cứ điều gì. Cùng tìm hiểu về các thành phần của biến $_SERVER trong PHP.
$ _SERVER là một mảng chứa thông tin về tiêu đề, đường dẫn, vị trí tập lệnh. Máy chủ web tạo các mục nhập trong mảng. Điều này không được đảm bảo rằng mọi máy chủ web sẽ cung cấp thông tin tương tự, thay vào đó một số máy chủ có thể bao gồm hoặc loại trừ một số thông tin không được liệt kê ở đây.
$ _SERVER có các thuộc tính cơ bản sau:
Thiết lập bởi máy chủ web.
Trực tiếp liên quan đến môi trường thời gian chạy của tập lệnh php hiện tại.
Nó thực hiện công việc giống như $ HTTP_SERVER_VARS được sử dụng để làm trong các phiên bản trước của PHP.
2. Các thành phần của biến $_SERVER trong PHP
Thành phần
Mô tả
$_SERVER[‘PHP_SELF’]
Trả về tên file của file đang được chạy.
$_SERVER[‘GATEWAY_INTERFACE’]
Trả về phiên bản của Common Gateway Interface(CGI) của máy chủ đang dùng
$_SERVER[‘SERVER_NAME’]
Trả về tên của máy chủ
$_SERVER[‘HTTP_ACCEPT’]
Chấp nhận trả về tiêu đề từ các yêu cầu hiện tại
$_SERVER[‘HTTP_HOST’]
Trả về tiêu đề chủ từ yêu cầu hiện tại
$_SERVER[‘HTTP_REFERER’]
Trả về URL hoàn chỉnh của trang hiện tại
$_SERVER[‘HTTPS’]
Được kịch bản truy vấn thông qua một giao thức HTTP an toàn
$_SERVER[‘REMOTE_ADDR’]
Trả về địa chỉ IP từ nơi người dùng đang xem một trang hiện hành
$_SERVER[‘REMOTE_HOST’]
Trả về tên máy chủ từ nơi người dùng đang xem một trang hiện hành
$_SERVER[‘REMOTE_PORT’]
Trả về các cổng được sử dụng trên máy tính của người dùng để giao tiếp với máy chủ web
$_SERVER[‘SCRIPT_FILENAME’]
Trả lại tên đường dẫn tuyệt đối của kịch bản hiện đang thực hiện
$_SERVER[‘SERVER_PORT’]
Trả về các cổng trên máy chủ được sử dụng bởi các máy chủ web để liên lạc(such as 80)
$_SERVER[‘SERVER_SIGNATURE’]
Trả về phiên bản máy chủ và tên máy chủ ảo được thêm vào các trang máy chủ tạo ra
$_SERVER[‘PATH_TRANSLATED’]
Trả về hệ thống tập tin dựa trên đường dẫn đến kịch bản hiện tại
$_SERVER[‘SCRIPT_NAME’]
Trả về đường dẫn của kịch bản hiện tại
$_SERVER[‘SCRIPT_URI’]
Trả về URI của trang hiện tại
3. Mô tả chi tiết
+ PHP: $ _SERVER ['PHP_SELF']
Bạn có thể tìm thấy tên tệp của tập lệnh hiện đang thực thi bằng cách sử dụng $ _SERVER ['PHP_SELF']. Tên tệp được hiển thị dưới dạng đầu ra có liên quan đến gốc của tài liệu.
Theo sau mã php đã sử dụng biến $ _SERVER ['SERVER_NAME'] để hiển thị tên của máy chủ lưu trữ.
Thí dụ:
echo $_SERVER['SERVER_NAME'];
?>
Đầu ra:
www.w3resource.com
Lưu ý: Nếu bạn chạy mã trên trên localhost, theo mặc định nó sẽ hiển thị tên máy chủ là localhost. Nếu tập lệnh đang chạy trên máy chủ ảo, tên của bộ máy chủ ảo, sẽ được trả về dưới dạng tên máy chủ.
+ PHP: $ _SERVER ['SERVER_SOFTWARE']
Biến $ _SERVER ['SERVER_SOFTWARE'] tìm nạp chuỗi nhận dạng máy chủ. Chuỗi được cung cấp trong các tiêu đề khi trả lời các yêu cầu.
Theo mã php được sử dụng $ _SERVER ['SERVER_SOFTWARE']
Thí dụ:
echo $_SERVER['SERVER_NAME'];
?>
Đầu ra:
Đầu ra:
Lưu ý: Nếu bạn chạy mã trên trên localhost, theo mặc định nó sẽ hiển thị tên máy chủ là localhost. Nếu tập lệnh đang chạy trên máy chủ ảo, tên của bộ máy chủ ảo, sẽ được trả về dưới dạng tên máy chủ.
+ PHP: $ _SERVER ['SERVER_SOFTWARE']
Biến $ _SERVER ['SERVER_SOFTWARE'] tìm nạp chuỗi nhận dạng máy chủ. Chuỗi được cung cấp trong các tiêu đề khi trả lời các yêu cầu.
Theo mã php được sử dụng $ _SERVER ['SERVER_SOFTWARE']
Thí dụ:
echo $_SERVER['SERVER_SOFTWARE'];
?>
Đầu ra:
Lưu ý: Nếu bạn chạy mã trên trên localhost, theo mặc định nó sẽ hiển thị tên máy chủ là localhost. Nếu tập lệnh đang chạy trên máy chủ ảo, tên của bộ máy chủ ảo, sẽ được trả về dưới dạng tên máy chủ.
+ PHP: $ _SERVER ['SERVER_SOFTWARE']
Biến $ _SERVER ['SERVER_SOFTWARE'] tìm nạp chuỗi nhận dạng máy chủ. Chuỗi được cung cấp trong các tiêu đề khi trả lời các yêu cầu.
Theo mã php được sử dụng $ _SERVER ['SERVER_SOFTWARE']
Thí dụ:
echo $_SERVER['SERVER_SOFTWARE'];
?>
Đầu ra:
Lưu ý: Nếu bạn chạy mã trên trên localhost, theo mặc định nó sẽ hiển thị tên máy chủ là localhost. Nếu tập lệnh đang chạy trên máy chủ ảo, tên của bộ máy chủ ảo, sẽ được trả về dưới dạng tên máy chủ.
+ PHP: $ _SERVER ['SERVER_SOFTWARE']
Biến $ _SERVER ['SERVER_SOFTWARE'] tìm nạp chuỗi nhận dạng máy chủ. Chuỗi được cung cấp trong các tiêu đề khi trả lời các yêu cầu.
Theo mã php được sử dụng $ _SERVER ['SERVER_SOFTWARE']
Thí dụ:
echo $_SERVER['SERVER_SOFTWARE'];
?>
Sao chép
Apache / 2.2.3 (CentOS)
+ PHP: $ _SERVER ['SERVER_PROTOCOL']
Thí dụ:
Biến $ _SERVER ['SERVER_PROTOCOL'] tìm nạp tên và sửa đổi giao thức thông tin mà qua đó trang đã được yêu cầu.
?>
Theo mã php đã sử dụng $ _SERVER ['SERVER_PROTOCOL']
echo $_SERVER['SERVER_PROTOCOL'];
HTTP / 1.1
+ PHP: $ _SERVER ['REQUEST_METHOD']
Thí dụ:
$ _SERVER ['REQUEST_METHOD'] tìm nạp phương thức yêu cầu được sử dụng để truy cập trang. Các phương thức yêu cầu là 'GET', 'HEAD', 'POST', 'PUT'.
?>
Đầu ra:
Theo mã php được sử dụng $ _SERVER ['REQUEST_METHOD'] -
echo $_SERVER['REQUEST_METHOD'];
GET
+ PHP: $ _SERVER ['REQUEST_TIME']
Thí dụ:
Biến $ _SERVER ['REQUEST_TIME'] tìm nạp dấu thời gian bắt đầu yêu cầu.
?>
Đầu ra:
Theo mã php đã sử dụng $ _SERVER ['REQUEST_TIME']
echo $_SERVER['REQUEST_TIME'];
+ PHP: $ _SERVER ['QUERY_STRING']
Nếu một trang được truy cập qua bất kỳ chuỗi truy vấn nào, $ _SERVER ['QUERY_STRING'] sẽ tìm nạp chuỗi truy vấn đó.
Theo mã php đã sử dụng $ _SERVER ['QUERY_STRING'].
?>
Đầu ra:
www.w3resource.com
echo "The query string is: ".$_SERVER['QUERY_STRING'];
Nếu mã php ở trên được lưu với tên tệp QUERY_STRING.php và nếu bạn thêm '? Tutorial = php & section = super-globals' (nghĩa là QUERY_STRING.php? Tutorial = php & section = super-globals); nó sẽ in chuỗi này trong trang vì bạn đã yêu cầu tập lệnh in $ _SERVER ['QUERY_STRING'].
+ PHP: $ _SERVER ['HTTP_ACCEPT']
Thí dụ:
Nếu tồn tại, nội dung của tiêu đề Accept: từ yêu cầu hiện tại được tìm nạp bởi $ _SERVER ['HTTP_ACCEPT'].