$_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 trong mảng. Điều này không đảm bảo rằng mọi máy chủ web sẽ cung cấp thông tin giống nhau, 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
1. Đặt bởi máy chủ web
2. Liên quan trực tiếp đến môi trường thời gian chạy của tập lệnh php hiện tại
3. Nó thực hiện công việc tương tự như $HTTP_SERVER_VARS đã từng thực hiện trong các phiên bản PHP trước
nội dung
- Đầu ra mẫu của $_SERVER được lấy từ localhost
- PHP. $_SERVER['PHP_SELF']
- PHP. $_SERVER['argv']
- PHP. Biến siêu toàn cục. $argc
- PHP. $_SERVER['GATEWAY_INTERFACE']
- PHP. $_SERVER['SERVER_ADDR']
- PHP. $_SERVER['SERVER_NAME']
- PHP. $_SERVER['SERVER_SOFTWARE']
- PHP. $_SERVER['SERVER_PROTOCOL']
- PHP. $_SERVER['REQUEST_METHOD']
- PHP. $_SERVER['REQUEST_TIME']
- PHP. $_SERVER['QUERY_STRING']
- PHP. $_SERVER['HTTP_ACCCEPT']
- PHP. $_SERVER['HTTP_ACCEPT_CHARSET']
- PHP. $_SERVER['HTTP_HOST']
- PHP. $_SERVER['REMOTE_PORT']
- PHP. $_SERVER['SCRIPT_FILENAME']
- PHP. $_SERVER['SERVER_ADMIN']
- PHP. $_SERVER['SERVER_PORT']
- PHP. $_SERVER['SERVER_SIGNATURE']
- PHP. $_SERVER['PATH_TRANSLATED']
- PHP. $_SERVER['SCRIPT_NAME']
- PHP. $_SERVER['SCRIPT_URI']
Đầu ra mẫu của $_SERVER được lấy từ localhost
array[32] { ["HTTP_HOST"]=> string[9] "localhost" ["HTTP_CONNECTION"]=> string[10] "keep-alive" ["HTTP_USER_AGENT"]=> string[101] "Mozilla/5.0 [Windows NT 6.1] AppleWebKit/536.11 [KHTML, like Gecko] Chrome/20.0.1132.57 Safari/536.11" ["HTTP_ACCEPT"]=> string[63] "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ["HTTP_REFERER"]=> string[49] "//localhost/php/super-variables/$_SERVER.php" ["HTTP_ACCEPT_ENCODING"]=> string[17] "gzip,deflate,sdch" ["HTTP_ACCEPT_LANGUAGE"]=> string[14] "en-US,en;q=0.8" ["HTTP_ACCEPT_CHARSET"]=> string[30] "ISO-8859-1,utf-8;q=0.7,*;q=0.3" ["HTTP_COOKIE"]=> string[52] "bsau=13422601771944046296; bsas=13422601771975238542" ["PATH"]=> string[120] "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Windows\System32\WindowsPowerShell\v1.0\; c:\python32\python;" ["SystemRoot"]=> string[10] "C:\Windows" ["COMSPEC"]=> string[27] "C:\Windows\system32\cmd.exe" ["PATHEXT"]=> string[53] ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC" ["WINDIR"]=> string[10] "C:\Windows" ["SERVER_SIGNATURE"]=> string[0] "" ["SERVER_SOFTWARE"]=> string[31] "Apache/2.2.11 [Win32] PHP/5.3.0" ["SERVER_NAME"]=> string[9] "localhost" ["SERVER_ADDR"]=> string[9] "127.0.0.1" ["SERVER_PORT"]=> string[2] "80" ["REMOTE_ADDR"]=> string[9] "127.0.0.1" ["DOCUMENT_ROOT"]=> string[12] "F:/wamp/www/" ["SERVER_ADMIN"]=> string[15] "[email protected]" ["SCRIPT_FILENAME"]=> string[49] "F:/wamp/www/php/super-variables/test-$_server.php" ["REMOTE_PORT"]=> string[5] "51124" ["GATEWAY_INTERFACE"]=> string[7] "CGI/1.1" ["SERVER_PROTOCOL"]=> string[8] "HTTP/1.1" ["REQUEST_METHOD"]=> string[3] "GET" ["QUERY_STRING"]=> string[0] "" ["REQUEST_URI"]=> string[38] "/php/super-variables/test-$_server.php" ["SCRIPT_NAME"]=> string[38] "/php/super-variables/test-$_server.php" ["PHP_SELF"]=> string[38] "/php/super-variables/test-$_server.php" ["REQUEST_TIME"]=> int[1342260551] }
Dưới đây chúng tôi đã thảo luận về các yếu tố có thể tồn tại trong $_SERVER
PHP. $_SERVER['PHP_SELF']
Bạn có thể tìm 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 thư mục gốc của tài liệu
Mã php sau được sử dụng $_SERVER['PHP_SELF']
Xem ví dụ trong trình duyệt
Một ví dụ nâng cao khác
Kiến thức cơ bản về mảng là điều kiện tiên quyết của ví dụ này. Bạn có thể quay lại ví dụ này sau khi học mảng php. Đoạn mã PHP sau so sánh các phần tử mảng với $_SERVER['PHP_SELF'] và hiển thị một thông báo
Xem ví dụ trong trình duyệt
PHP. $_SERVER['argv']
Nếu được sử dụng, tất cả các đối số được truyền từ dòng lệnh sẽ được lưu trữ trong mảng $_SERVER['argv']. Bản thân tên tệp là mục đầu tiên trong mảng, tôi. e. 0
Thí dụ
Nếu đây là một tệp [giả sử đối số. php] chứa $_SERVER['argv'], sau đó bạn chạy đoạn mã sau từ dòng lệnh.
D. \php\php. ex d. \tranh luận. php w3resource. com
nơi php được cài đặt trong D. \php và đối số. php được lưu trong D. \
Đầu ra của lệnh trên là
d:\arguments.php w3resource . com
PHP. Biến siêu toàn cầu. $argc
$argc có thể chứa một số tham số dòng lệnh. Các tham số này được chuyển đến tập lệnh tương ứng
Thí dụ
Nếu mã ở trên được lưu dưới dạng argc. php và được thực thi từ dấu nhắc lệnh với các đối số arg1, arg2 và arg3;
C:\wamp\bin\php\php5.3.0>php.exe-f "C:\argc.php" -- -arg1 -arg2 -arg3 int[4] C:\wamp\bin\php\php5.3.0>
PHP. $_SERVER['GATEWAY_INTERFACE']
$_SERVER['GATEWAY_INTERFACE'] trả về phiên bản của thông số kỹ thuật Giao diện cổng chung [CGI] mà máy chủ đang sử dụng. Ví dụ CGI/1. 1 là một GATEWAY_INTERFACE hợp lệ.
Mã php sau được sử dụng $_SERVER['GATEWAY_INTERFACE']. Lưu ý 1 điểm, nếu server nào không chứa Common Gateway Interface [CGI] thì sẽ không hiển thị gì cả.
Thí dụ
PHP. $_SERVER['SERVER_ADDR']
$_SERVER['SERVER_ADDR'] trả về địa chỉ IP [địa chỉ Giao thức Internet] của máy chủ lưu trữ
Mã php sau đã sử dụng $_SERVER['SERVER_ADDR'] để hiển thị địa chỉ IP của máy chủ lưu trữ
Thí dụ
________số 8đầu ra mẫu
xxx.xx.xxx.xx
Ghi chú. Nếu bạn chạy đoạn mã trên trên localhost, nó sẽ trả về 127. 0. 0. 1
PHP. $_SERVER['SERVER_NAME']
Tên trạng thái của máy chủ lưu trữ
Mã php sau đã sử dụng biến $_SERVER['SERVER_NAME'] để hiển thị tên của máy chủ lưu trữ
Thí dụ
0đầu ra
1Xem ví dụ trong trình duyệt
Ghi chú. Nếu bạn chạy đoạn code trên trên localhost thì mặc định nó sẽ hiện tên server 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 tiêu đề khi đáp ứng yêu cầu
Mã php sau được sử dụng $_SERVER['SERVER_SOFTWARE']
Thí dụ
2đầu ra
3Xem ví dụ trong trình duyệt
PHP. $_SERVER['SERVER_PROTOCOL']
Biến $_SERVER['SERVER_PROTOCOL'] tìm nạp tên và bản sửa đổi của giao thức thông tin qua đó trang đã được yêu cầu
Mã php sau được sử dụng $_SERVER['SERVER_PROTOCOL']
Thí dụ
4đầu ra
HTTP/1. 1
Xem ví dụ trong trình duyệt
PHP. $_SERVER['REQUEST_METHOD']
$_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'
Mã php sau được sử dụng $_SERVER['REQUEST_METHOD'] -
Thí dụ
5đầu ra
6Xem ví dụ trong trình duyệt
PHP. $_SERVER['REQUEST_TIME']
Biến $_SERVER['REQUEST_TIME'] lấy dấu thời gian bắt đầu yêu cầu
Mã php sau được sử dụng $_SERVER['REQUEST_TIME']
Thí dụ
7Xem ví dụ trong trình duyệt
PHP. $_SERVER['QUERY_STRING']
Nếu một trang được truy cập thông qua bất kỳ chuỗi truy vấn nào, thì $_SERVER['QUERY_STRING'] sẽ tìm nạp chuỗi truy vấn đó
Mã php sau được sử dụng $_SERVER['QUERY_STRING']
Thí dụ
8Nếu mã php ở trên được lưu với tên tệp là QUERY_STRING. php và nếu bạn thêm '?tutorial=php§ion=super-globals' [i. e. CHUỖI TRUY VẤN. php?tutorial=php§ion=super-globals];
PHP. $_SERVER['HTTP_ACCCEPT']
Nếu tồn tại, nội dung của Chấp nhận. tiêu đề từ yêu cầu hiện tại được tìm nạp bởi $_SERVER['HTTP_ACCCEPT']
Mã php sau được sử dụng $_SERVER['HTTP_ACCCEPT']
Thí dụ
9đầu ra
0Xem ví dụ trong trình duyệt
PHP. $_SERVER['HTTP_ACCEPT_CHARSET']
Nếu tồn tại, nội dung của Bộ ký tự chấp nhận. tiêu đề từ yêu cầu hiện tại được tìm nạp bởi $_SERVER['HTTP_ACCEPT_CHARSET']
Mã php sau được sử dụng $_SERVER['HTTP_ACCEPT_CHARSET']
Thí dụ
1đầu ra
2Xem ví dụ trong trình duyệt
PHP. $_SERVER['HTTP_HOST']
Tên trạng thái của máy chủ lưu trữ Nội dung của máy chủ. tiêu đề từ yêu cầu hiện tại, nếu có một
Mã php sau được sử dụng $_SERVER['HTTP_HOST']
Thí dụ
3đầu ra
1Xem ví dụ trong trình duyệt
PHP. $_SERVER['HTTP_REFERER']
$_SERVER['HTTP_REFERER'] có thể được sử dụng để tìm nạp URL hoàn chỉnh của trang hiện tại
Vì một số nhưng không phải tất cả các tác nhân người dùng [ví dụ: trình duyệt] không hỗ trợ nên việc sử dụng tác nhân này không đáng tin cậy lắm
Mã php sau được sử dụng $_SERVER['HTTP_REFERER']
Thí dụ
5đầu ra
6Xem ví dụ trong trình duyệt
PHP. $_SERVER['HTTP_USER_AGENT']
Nếu tồn tại, nội dung của Tác nhân người dùng. tiêu đề từ yêu cầu hiện tại được tìm nạp bởi $_SERVER['HTTP_USER_AGENT']
Mã php sau được sử dụng $_SERVER['HTTP_USER_AGENT']
Thí dụ
7Xem ví dụ trong trình duyệt
PHP. $_SERVER['HTTPS']
Nếu tập lệnh được truy vấn thông qua giao thức HTTP bảo mật, thì $_SERVER['HTTPS'] được đặt thành giá trị không trống
Mã php sau được sử dụng $_SERVER['HTTPS']
Thí dụ
8PHP. $_SERVER['REMOTE_ADDR']
$_SERVER['REMOTE_ADDR'] tìm nạp địa chỉ IP mà người dùng đang xem trang hiện tại
Mã php sau được sử dụng $_SERVER['REMOTE_ADDR']
Thí dụ
9Xem ví dụ trong trình duyệt
PHP. $_SERVER['REMOTE_HOST']
$_SERVER['REMOTE_HOST'] tìm nạp Tên máy chủ mà người dùng đang xem trang hiện tại
Nhưng để tập lệnh này hoạt động, Tra cứu tên máy chủ bên trong httpd. conf phải được cấu hình
Mã php sau được sử dụng $_SERVER['REMOTE_HOST']
Thí dụ
0PHP. $_SERVER['REMOTE_PORT']
Tên trạng thái của máy chủ lưu trữ. Cổng đang được sử dụng trên máy của người dùng để giao tiếp với máy chủ web
Mã php sau được sử dụng $_SERVER['REMOTE_PORT']
Thí dụ
1Xem ví dụ trong trình duyệt
PHP. $_SERVER['SCRIPT_FILENAME']
$_SERVER['SCRIPT_FILENAME'] tìm nạp tên đường dẫn tuyệt đối của tập lệnh hiện đang thực thi
Mã php sau được sử dụng $_SERVER['SCRIPT_FILENAME']
Thí dụ
2đầu ra
6Xem ví dụ trong trình duyệt
PHP. $_SERVER['SERVER_ADMIN']
$_SERVER-SERVER_ADMIN. php tìm nạp giá trị được cung cấp cho chỉ thị SERVER_ADMIN [dành cho Apache] trong tệp cấu hình máy chủ web
Nếu tập lệnh đang chạy trên máy chủ ảo, thì đây sẽ là giá trị được xác định cho máy chủ ảo đó
Mã php sau được sử dụng $_SERVER['SERVER_ADMIN']
Thí dụ
4đầu ra
5Xem ví dụ trong trình duyệt
PHP $_SERVER['SERVER_PORT']
Tên trạng thái của máy chủ lưu trữ Cổng trên máy chủ đang được máy chủ web sử dụng để liên lạc. Đối với thiết lập mặc định, giá trị này sẽ là '80';
Mã php sau được sử dụng $_SERVER['SERVER_PORT']
Thí dụ
6Xem ví dụ trong trình duyệt
PHP. $_SERVER['SERVER_SIGNATURE']
$_SERVER['SERVER_SIGNATURE'] tìm nạp chuỗi chứa phiên bản máy chủ và tên máy chủ ảo được thêm vào các trang do máy chủ tạo, nếu được bật
Mã php sau được sử dụng $_SERVER['SERVER_SIGNATURE']
Thí dụ
7đầu ra
8Xem ví dụ trong trình duyệt
PHP. $_SERVER['PATH_TRANSLATED']
$_SERVER['PATH_TRANSLATED'] tìm nạp đường dẫn dựa trên hệ thống tệp tới tập lệnh hiện tại. Điều này được thực hiện sau khi máy chủ đã thực hiện bất kỳ ánh xạ ảo-thực nào
Nó chỉ hoạt động khi PATH_INFO được xác định
Mã php sau được sử dụng $_SERVER['PATH_TRANSLATED']
Thí dụ
9PHP. $_SERVER['SCRIPT_NAME']
$_SERVER['SCRIPT_NAME'] chứa đường dẫn của tập lệnh hiện tại
Thí dụ
d:\arguments.php w3resource . com0
đầu ra
d:\arguments.php w3resource . com1
PHP. $_SERVER['SCRIPT_URI']
$_SERVER['REQUEST_URI'] chứa URI của trang hiện tại
Vì vậy, nếu đường dẫn đầy đủ của một trang là https. //www. w3resource. com/html/html-hướng dẫn. php, $_SERVER['REQUEST_URI'] sẽ chứa /html/html-tutorials. php