Obtener la url actual en php

En este artículo veremos lo fácil que resulta obtener la url actual en php. Esto puede resultarnos útil para resaltar el menú actual de una web o para cualquier otra aplicación.

Obtener la url actual en php es muy sencillo, porque ya existen funciones, más bien variables de servidor preparadas para ello, por lo tanto no hace falta programar. Todas estas variables de servidor se encuentran dentro del array $_SERVER[]

Sintaxis para obtener la url actual en php

Cuando queremos obtener la url actual en php, o algo más de información, hay que explicar la importancia del siguiente array, las famosas php server variables:

obtener la url actual en php

$_SERVER[]

Es un array o tabla que se crea automáticamente y que contiene información como rutas del script, encabezamientos…Puede tener muchos valores, pero vamos a ver los que podemos usar para obtener la url con PHP:

$_SERVER[‘REMOTE_ADDR’]

Permite conocer la dirección IP del usuario que ha solicitado la página. Si está trabajando en local, lo más normal es que le devuelva  http://127.0.0.1

$_SERVER[‘HTTP_HOST’]

Con este valor obtendremos exactamente el dominio de la web, para el caso de esta web  www.nachomiralles.com

$_SERVER[‘REQUEST_URI’]

De aquí obtenemos la url relativa del script sobre el dominio, por ejemplo /ejemplo-obtener-url.php. Se puede decir que es todo lo que hay después del dominio, incluyendo el query string. Por ejemplo, en la URL de ejemplo http://midominio.com/una/url/cualquiera?bar=foo el valor de $_SERVER[‘REQUEST_URI’] sería una/url/cualquiera?bar=foo.

Es importante destacar que los identificadores de fragmento nunca son enviados al servidor, por ejemplo, si se solicita http://midominio.com/una/url#identificador, la parte #identificador no es enviada al servidor en la solicitud y no estará disponible en $_SERVER[‘REQUEST_URI’]; los identificadores de fragmento,por otra parte si que están disponibles en javascript.

$_SERVER[‘PHP_SELF’]

Este valor puede resultar idéntico al mostrado por  $_SERVER[‘REQUEST_URI’], pero si nuestra web está realizada con urls amigables resueltas con .htaccess mostrará la ruta del PHP que muetra la url. Ejemplo:
– La url amigable es: /noticias/url-amigable-resuelta-por-htacces/ y nos devovería /noticia.php

$_SERVER[‘SERVER_NAME’]

Este valor almacena el servidor donte está alojada la página. Podría confundirse con el HTTP_HOST, pero la diferencia está en que éste toma el valor de la configuración del servidor y $_SERVER[‘HTTP_HOST’] toma el valor de las cabeceras HTTP

$_SERVER[‘SERVER_PORT’]

Este valor indica el puerto del servidor por el que se esta mostrando la url.

$_SERVER[‘REQUEST_METHOD’]

En este caso, este request method permite conocer el método de consulta que se utiliza, GET, POST…

$_SERVER[‘QUERY_STRING’]

Con este array podemos conocer la cadena de consulta que se utiliza, es decir, las variables y valores que pasan por URL. Por ejemplo, si pasamos como argumento una variable $=1, el resultado de este método sería https://www.nachomiralles.com/php/?var=1. Sólo nos devolveria var=1

Basta ya de teorías, empecemos a experimentar la parte práctica que es la que más me gusta.

Ejemplo para obtener la url actual en php

Vamos a ver un ejemplo de lo que nos devolvería cada una de los valores explicados arriba:

Ver el resultado del código

Si quermos obtener más información detallada sobre una url en php, recomiendo visitar el siguiente enlace : https://stackoverflow.com/questions/6768793/get-the-full-url-in-php

Ya hemos visto las principales funciones para obtener la url actual en php, pero todavía podemos extraer más información.

 

Si te sirve de ayuda, no dudes en compartir!Share on LinkedInShare on FacebookTweet about this on TwitterPin on PinterestShare on Google+

Deja un comentario