Saltar al contenido

$_SERVER

Understanding PHP Superglobals and the $_SERVER Variable

PHP es un lenguaje de scripting del lado del servidor muy popular utilizado en el desarrollo web. Una de sus características únicas es el uso de superglobales, que son variables especiales que siempre son accesibles, independientemente del ámbito. En este artículo, profundizaremos en una de estas superglobales, la variable $_SERVER, y exploraremos sus propiedades y usos.

What is the $_SERVER Variable?

La variable $_SERVER es un array que contiene información sobre el servidor y el entorno en el que se está ejecutando el script actual. Incluye información como encabezados, rutas y ubicaciones de scripts, así como variables de entorno del sistema. A continuación se muestran algunas de las propiedades más utilizadas de la variable $_SERVER:

  • `$_SERVER['HTTP_HOST']`: devuelve el nombre de host y el número de puerto del servidor.
  • `$_SERVER['REQUEST_URI']`: devuelve la URL solicitada.
  • `$_SERVER['QUERY_STRING']`: devuelve la parte de la cadena de consulta de la URL.
  • `$_SERVER['HTTP_REFERER']`: devuelve la URL de la página que originó la solicitud del script actual.
  • `$_SERVER['REQUEST_METHOD']`: devuelve el método de solicitud (GET, POST, etc.).
  • `$_SERVER['REMOTE_ADDR']`: devuelve la dirección IP del usuario.
  • `$_SERVER['SCRIPT_FILENAME']`: devuelve la ruta absoluta al script que se está ejecutando actualmente.

Using $_SERVER for URL Redirection

Un uso común de la variable $_SERVER es para la redirección de URL. Por ejemplo, puedes usar el siguiente código para redirigir al usuario a una página diferente:

Redirección de PHP con la función header

php
<?php
header('Location: https://www.example.com/');
exit;
?>

En este ejemplo, la función header se utiliza para enviar un encabezado HTTP sin procesar al navegador, indicándole que redirija a la URL especificada. Luego, la sentencia exit se usa para detener la ejecución del script, evitando que se envíe más salida al navegador.

Using $_SERVER for Error Handling

Otro uso de la variable $_SERVER es para el manejo de errores. Por ejemplo, puedes usar el siguiente código para mostrar una página de error personalizada para errores 404:

Manejo de errores 404 en PHP con $_SERVER

php
<?php
// Log the error URI using $_SERVER
error_log('404 Error: ' . $_SERVER['REQUEST_URI']);
http_response_code(404);
include '404.html';
?>

En este ejemplo, $_SERVER['REQUEST_URI'] se utiliza para capturar la ruta solicitada con fines de registro. En lugar de redirigir, el script establece el código de estado HTTP correcto e incluye una plantilla personalizada, que es la práctica estándar para el manejo de errores.

Conclusion

En conclusión, la variable $_SERVER es una herramienta poderosa para los desarrolladores web, ya que les permite acceder a información importante sobre el servidor y el entorno en el que se están ejecutando sus scripts. Ya sea que la uses para redirección de URL, manejo de errores u otros propósitos, comprender y utilizar las propiedades de la variable $_SERVER puede mejorar significativamente la funcionalidad y confiabilidad de tus scripts PHP.

Nota: En PHP moderno, la etiqueta de cierre ?> es opcional y a menudo se omite para evitar la salida accidental de espacios en blanco.

Practice

¿Qué información puede proporcionar la variable superglobal PHP $_SERVER?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.