Cuando hacemos un sitio web utilizando tecnologías PHP a veces es necesario hacer uso de algunos datos del servidor o del cliente y dado que la naturaleza de lenguaje es de servidor entonces podemos obtener de ahí toda esa información.
¿Qué funciones de PHP podemos usar? Nos enfocaremos en una serie de variables que juntas pueden darnos acceso a información sobre nuestro servidor y sobre el cliente. La información de estas variables es atribuida por el servidor y en ningún caso nos es posible modificar sus valores directamente mediante el script. Para hacerlo es necesario influir directamente sobre la propiedad que definen.
La variable que examinaremos es $_SERVER[] que es una matriz que contiene información tal como cabeceras, rutas y ubicaciones de scripts. Las entradas de esta matriz son creadas por el servidor web.
Estas son algunos elementos de la matriz, solo destacaremos los más importantes:
$_SERVER['PHP_SELF']
// El nombre de archivo del script ejecutándose actualmente
$_SERVER['SERVER_ADDR']
//La dirección IP del servidor bajo la cual está siendo ejecutado el script actual.
$_SERVER['QUERY_STRING']
// La cadena de consulta, si existe, mediante la cual se accedió a la página.
$_SERVER['HTTP_REFERER']
// La dirección de la página que refirió al navegador a la página actual.
$_SERVER['HTTP_USER_AGENT']
// Esta es una cadena que denota el navegador que está accediendo a la página.
$_SERVER['REMOTE_ADDR']
// La dirección IP desde donde el usuario está observado la página actual.
$_SERVER['SCRIPT_NAME']
// Contiene la ruta del script actual, útil para páginas que necesitan apuntar a ellas mismas.
$_SERVER['REQUEST_URI']
// El URI que fue dado para acceder a esta página; por ejemplo, '/index.php?id=1'.
Todas las anteriores son cadenas, puedes ver muchas más en la clase HttpRequest y un ejemplo de uso en el archivo de pruebas de la misma clase. Repito, estas son solo las variables de servidor, aún quedan las variables de petición, las de sesiones, las de entorno, etc.
La clase HttpRequest, la consigues en EsLoMas.