Variabel SERVER superglobal pada PHP
Topik ini tidak begitu penting, jika Anda buru-buru belajar PHP, materi ini boleh diskip. Variabel $_SERVER
pada PHP menampung berbagai macam informasi yang dapat dimanfaatkan dalam pemrograman. Anda dapat menampilkan seluruh variabel $_SERVER dengan program seperti berikut:
<?php echo "<pre>".print_r($_SERVER,true)."</pre>"; ?>
Output:
Array ( [HTTP_HOST] => localhost [HTTP_CONNECTION] => keep-alive [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 Safari/537.36 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 [HTTP_REFERER] => http://localhost/ [HTTP_ACCEPT_ENCODING] => gzip, deflate, sdch [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.8,id;q=0.6 [HTTP_COOKIE] => PHPSESSID=nmhd802g0kr85ila6grbtituv2 [PATH] => C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WAMP\php-7.0.4;C:\ProgramData\ComposerSetup\bin;C:\WAMP\Apache24\bin;C:\Program Files\Java\jdk1.8.0_73;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\MinGW\bin;C:\msys\1.0\bin;C:\Program Files (x86)\CMake\bin;C:\Python34;C:\Program Files\pgsql\bin;C:\Program Files\Git\cmd;C:\Program Files\nodejs\; [SystemRoot] => C:\WINDOWS [COMSPEC] => C:\WINDOWS\system32\cmd.exe [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY [WINDIR] => C:\WINDOWS [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache/2.4.6 (Win64) OpenSSL/1.0.2g PHP/7.0.4 [SERVER_NAME] => localhost [SERVER_ADDR] => ::1 [SERVER_PORT] => 80 [REMOTE_ADDR] => ::1 [DOCUMENT_ROOT] => C:/WAMP/htdocs [REQUEST_SCHEME] => http [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => C:/WAMP/htdocs [SERVER_ADMIN] => setting@admin-di.apache [SCRIPT_FILENAME] => C:/WAMP/htdocs/servervars.php [REMOTE_PORT] => 64391 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /servervars.php [SCRIPT_NAME] => /servervars.php [PHP_SELF] => /servervars.php [REQUEST_TIME_FLOAT] => 1473598127.092 [REQUEST_TIME] => 1473598127 )
Bila belum memahami kode di atas, dapat mempelajari penjelasan sebelumnya tentang array.
Beberapa variabel yang sering digunakan antara lain:
$_SERVER['HTTP_REFERER']
, untuk mengetahui alamat halaman sebelumnya.$_SERVER['HTTP_USER_AGENT']
, kadang-kadang dipakai untuk mengetahui jenis browser. Akan tetapi untuk tujuan ini, dapat mencoba menggunakan fungsiget_browser()
.$_SERVER['REMOTE_ADDR']
, untuk mengetahui IP Address pengunjung web.$_SERVER['DOCUMENT_ROOT']
, untuk mengetahui folder root website pada server. Sebaiknya tidak menampilkan informasi ini di web demi keamanan. Selain itu, mungkin dapat mempertimbangkan untuk menggunakan magic constant__DIR__
.$_SERVER['REQUEST_URI']
, alamat yang dituju user, yang tampil pada address bar browser.$_SERVER['SCRIPT_NAME']
, script yang dituju oleh server. Selain ini, dapat juga menggunakan__FILE__
meski agak berbeda.$_SERVER['PHP_SELF']
, alamat http yang dituju. Kurang lebih sama dengan REQUEST_URI.
Cukup segini dulu tentang $_SERVER. Untuk lebih lengkapnya, dapat melihat dokumentasi php.net. Atau mencoba-coba sendiri.