Server Variables are those variables which are inside the super global array named $_SERVER available in PHP. There are many server variables in PHP and some of them are very useful for fore developing PHP projects. I’m going to post here some of the very useful server variables available in PHP development.
8 php server variables:
- $_SERVER[‘REQUEST_URI’] – It return the URL in to access the page which is executing the script. If you need to type http://www.domain.com/product.php?id=5 to access the page then $_SERVER[‘REQUEST_URI’] returns “/product.php?id=5”.
- $_SERVER[‘DOCUMENT_ROOT’] – Returns the root directory of the server which is specified in the configuration file of server. This variable usually returns the path like “/usr/yoursite/www” in Linux and “D:/xamps/xampp/htdocs” in windows.
- $_SERVER[‘HTTP_HOST’] – Returns the host’s name as found in the http header. This variable usually returns the path like “domain.com” when the you find “http://domain.com” in browser’s address-bar and return “www.domain.com” when you see http://www.domain.com in the address-bar. This is quite useful when you’ve to preserve session while making online payment using PHP since session stored for “http://domain.com” is not same as for the “http://www.domain.com”.
- $_SERVER[‘HTTP_USER_AGENT’] – Returns the user agent’s (browser) detail accessing the web page. We can use strpos($_SERVER[“HTTP_USER_AGENT”],”MSIE”) to detect Microsoft Internet explorer or you can use strpos($_SERVER[“HTTP_USER_AGENT”],”Firefox”) to detect firefox browser in PHP.
- $_SERVER[‘PHP_SELF’] – Returns the file-name of the currently executing script. Let’s suppose that you’re accessing the URL http://www.example.com/product.php?id=5 then $_SERVER[‘PHP_SELF’] returns “/product.php” in your script.
- $_SERVER[‘QUERY_STRING’] – Returns the query string if query string is used to access the script currently executing. Query strings are those string which is available after “?” sign.if you use $_SERVER[‘QUERY_STRING’] in the script executing the following URL “http://www.domain.com/index.php?id=5&page=product” then it returns “id=5&page=product” in your script.
$_SERVER[‘REMOTE_ADDR’] – Returns the IP address of remote machine accessing the current page. But you can’t relie on $_SERVER[‘REMOTE_ADDR’] to get the real IP address of client’s machine. See this article to know how to get real IP addrees in PHP.
$_SERVER[‘SCRIPT_FILENAME’] – Returns the absolute path of the file which is currently executing. It returns path like “var/domain.com/www/product.php” in Linux and path like “D:/xampp/xampp/htdocs/test/domain.php” in windows.