Por variables predefinidas vamos a entender un conjunto de variables que, sin que el usuario las haya declarado, existen ya declaradas y que tienen asociado un valor.
Dentro de las variables predefinidas destacar:
GATEWAY_INTERFACE
Almacena la versión de la especificación CGI que está usando el servidor que está ejecutando el código ; por ejemplo ’CGI/1.1’.
SERVER_NAME
El nombre del equipo servidor en el que se está ejecutando el script. Si el script se está ejecutando en un servidor
virtual, este será el valor definido para dicho servidor virtual.
SERVER_SOFTWARE
Una cadena de identificación del servidor, que aparece en las cabeceras al responderse a las peticiones.
SERVER_PROTOCOL
Nombre y revisión del protocolo a través del que se solicitó la página; p.ej. ’HTTP/1.0’;
REQUEST_METHOD
Qué método de petición se usó para acceder a la página; p.ej. ’GET’, ’HEAD’, ’POST’, ’PUT’.
QUERY_STRING
La cadena de la petición, si la hubo, mediante la que se accedió a la página.
DOCUMENT_ROOT
El directorio raíz del documento bajo el que se ejecuta el script, tal y como está definido en el fichero de
configuración del servidor.
HTTP_ACCEPT
Los contenidos de la cabecera Accept: de la petición actual, si hay alguna.
HTTP_ACCEPT_CHARSET
Los contenidos de la cabecera Accept-Charset: de la petición actual, si hay alguna. Por ejemplo:
’iso-8859-1,*,utf-8’.
HTTP_ENCODING
Los contenidos de la cabecera Accept-Encoding: de la petición actual, si la hay. Por ejemplo: ’gzip’.
HTTP_ACCEPT_LANGUAGE
Los contenidos de la cabecera Accept-Language: de la petición actual, si hay alguna. Por ejemplo: ’en’.
HTTP_CONNECTION
Los contenidos de la cabecera Connection: de la petición actual, si hay alguna. Por ejemplo: ’Keep-Alive’.
HTTP_HOST
Los contenidos de la cabecera Host: de la petición actual, si hay alguna.
HTTP_REFERER
La dirección de la página (si la hay) desde la que el navegador saltó a la página actual. Esto lo establece el navegador
del usuario; no todos los navegadores lo hacen.
HTTP_USER_AGENT
Los contenidos de la cabecera User_Agent: de la petición actual, si hay alguna. Indica el navegador que se está
utilizando para ver la página actual; p.ej. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Entre otras cosas,
se puede usar este valor con get_browser() para adaptar la funcionalidad de la página a las posibilidades del
navegador del usuario.
REMOTE_ADDR
La dirección IP desde la que el usuario está viendo la página actual.
REMOTE_PORT
El puerto que se está utilizando en la máquina del usuario para comunicarse con el servidor web.
SCRIPT_FILENAME
La vía de acceso absoluta del script que se está ejecutando.
SERVER_ADMIN
El valor que se haya dado a la directiva SERVER_ADMIN (en Apache) en el fichero de configuración del servidor
web. Si el script se está ejecutando en un servidor virtual, será el valor definido para dicho servidor virtual.
SERVER_PORT
El puerto del equipo servidor que está usando el servidor web para la comunicación. Para configuraciones por
defecto, será ’80’; al usar SSL, por ejemplo, cambiará al puerto que se haya definido como seguro para HTTP.
SERVER_SIGNATURE
Una cadena que contiene la versión del servidor y el nombre del servidor virtual que es añadida a las páginas
generadas por el servidor, si está característica está activa.
PATH_TRANSLATED
Vía de acceso basada en el sistema de ficheros- (no el directorio raíz del documento-) del script en cuestión, después
de que el servidor haya hecho la conversión virtual-a-real.
SCRIPT_NAME
Contiene la vía de acceso del script actual. Es útil para páginas que necesitan apuntar a sí mismas.
REQUEST_URI
La URI que se dió para acceder a esta página; por ejemplo, ’/index.html’.
El siguiente ejemplo 6 hace uso del comando echo para mostrar los valores asociados a algunas de estas variables que hemos visto.
PHP_SELF
El nombre del fichero que contiene el script que se esta ejecutando, relativo al directorio raíz de los documentos.
HTTP_COOKIE_VARS
Un array asociativo de variables pasadas al script actual mediante cookies HTTP.
HTTP_GET_VARS
Un array asociativo de variables pasadas al script actual mediante el método HTTP GET.
HTTP_POST_VARS
Un array asociativo de variables pasadas al script actual mediante el método HTTP POST.