$_SERVER is a superglobal variable in PHP. Superglobal variables are predefined variables in PHP that do not need to be declared by the user.
$_SERVER
contains data such as headers, paths, and script locations. As an associative array, it has a few key-value pairs. The presence of some elements may vary from server to server as they are made by the server.
The following demonstrates how $_SERVER
can be used:
<?php// Contains file directoryecho $_SERVER['PHP_SELF'];echo '<br>';// Contains file directoryecho $_SERVER['SCRIPT_NAME'];?>
The program above displays two $_SERVER
elements. Both elements contain the file directory. For security reasons, the server has not filled out other elements. However, some others include SERVER_ADDR
REQUEST_METHOD
REMOTE_ADDR
The following table contains a data list that might be stored in the $_SERVER
variable.
Code | Description |
---|---|
$_SERVER['PHP_SELF'] | Contains the file name of the currently running script. |
$_SERVER['GATEWAY_INTERFACE'] | Contains the version of the Common Gateway Interface being used by the server. |
$_SERVER['SERVER_ADDR'] | Contains the server's IP address. |
$_SERVER['SERVER_NAME'] | Contains the host name of the server. |
$_SERVER['SERVER_SOFTWARE'] | Contains the server identification string. |
$_SERVER['SERVER_PROTOCOL'] | Contains the name and revision of the version protocol. |
$_SERVER['REQUEST_METHOD'] | Contains the request method used to access the page. |
$_SERVER['REQUEST_TIME'] | Contains the timestamp of the start of the request. |
$_SERVER['QUERY_STRING'] | Contains the query string if the page was accessed using a query. |
$_SERVER['HTTP_ACCEPT'] | Contains the Accept header from the current request. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Contains the Accept_charset header from the current request. |
$_SERVER['HTTP_HOST'] | Contains the Host header from the current request. |
$_SERVER['HTTP_REFERER'] | Contains the URL of the current page. |
$_SERVER['HTTPS'] | Contains information regarding if the script was queried using a secure protocol. |
$_SERVER['REMOTE_ADDR'] | Contains the IP address from which the user is accessing the current page. |
$_SERVER['REMOTE_HOST'] | Contains the host name from where the user is accessing the current page. |
$_SERVER['SCRIPT_FILENAME'] | Contains the path of the script that's currently running. |
$_SERVER['SERVER_ADMIN'] | Contains the value given to SERVER_ADMIN in the configuration file. |
$_SERVER['SERVER_PORT'] | Contains the port on the web server being used for communication. |
$_SERVER['SERVER_SIGNATURE'] | Contains the server version and virtual host name that are added to server-generated pages. |
$_SERVER['PATH_TRANSLATED'] | Contains the file-system path to the current script. |
$_SERVER['SCRIPT_NAME'] | Contains the path to the current script. |
$_SERVER['SCRIPT_URI'] | Contains the URL of the current script. |