Encontrar la URL base en PHP
Este artículo presentará algunos métodos para encontrar la URL base de una aplicación en PHP.
Use la variable superglobal $_SERVER
para encontrar la URL base en PHP
La variable superglobal $_SERVER
en PHP contiene la información sobre el servidor y el entorno de ejecución.
El término variable superglobal significa que se puede acceder a la variable en todos los ámbitos del programa. La variable es un array predefinida y contiene una amplia gama de índices.
Podemos usar los diversos índices para encontrar rutas, encabezados y ubicaciones de secuencias de comandos. Algunos ejemplos de los índices disponibles utilizados en la matriz $_SERVER
son SERVER_NAME
, SERVER_ADDR
, HTTP_HOST
, REMOTE_HOST
, etc.
Los servidores web proporcionan estos índices. Por lo tanto, la disponibilidad de los índices varía según el servidor web. A continuación se muestra un ejemplo del uso del array $_SERVER
.
<?php
echo $_SERVER['SERVER_NAME'];
?>
Producción :
localhost
En el ejemplo anterior, el servidor utilizado es localhost. La matriz $_SERVER['SERVER_NAME]
devuelve el nombre de host del servidor con el que se ejecuta el script actual.
Podemos usar la matriz $_SERVER
para encontrar la URL base de la aplicación en PHP. Los índices SERVER_NAME
y REQUEST_URI
son útiles para encontrar la URL base.
El índice REQUEST_URI
devuelve el Unifrom Resource Identifier (URI) de la página web actual.
Por ejemplo, cree una variable $servidor
y almacene $_SERVER['SERVER_NAME']
en ella. Del mismo modo, almacene $_SERVER['REQUEST_URI']
en la variable $uri
.
A continuación, concatene la cadena http://
con las variables $server
y $uri
e imprímalas usando la función print
.
Como resultado, podemos ver la URL base de la aplicación actual. El siguiente ejemplo muestra la ruta de la aplicación actual tal como se ejecuta en el localhost
.
$server = $_SERVER['SERVER_NAME'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$server. $uri;
Producción :
http://localhost/my_app/
También podemos obtener el nombre de host usando el índice HTTP_HOST
en la matriz $_SERVER
. El índice HTTP_HOST
devuelve el encabezado de host de la solicitud actual en la aplicación.
La diferencia entre este y el índice SERVER_NAME
es que HTTP_HOST
recupera el encabezado de la solicitud del cliente mientras que SERVER_NAME
recupera la información definida en la configuración del servidor.
El índice SERVER_NAME
es más fiable que el HTTP_HOST
ya que el valor lo devuelve el servidor y no se puede modificar. A continuación se muestra el ejemplo del índice HTTP_HOST
para obtener la URL base de la aplicación.
$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$host. $uri;
Producción :
http://localhost/my_app/
Arriba se muestra cómo podemos encontrar la URL base de una aplicación en PHP.
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn