entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Obtener url actual en PHP sin llamar al servidor

Hola, tengo este script que me da la url de la pagina actual y me funciona bastante bien, pero como lo tengo que tener en todas las paginas, el servidor hay veces que se cae de generar tantas peticiones. Hay alguna manera de obtener la url de la pagina sin pedirsela al servidor?

function getCurrentUrl(){
$domain = $_SERVER['HTTP_HOST'];
$url = "http://" . $domain . $_SERVER['REQUEST_URI'];
return $url;
}

3 Respuestas

2votos

mrczrt Puntos6940

Hola, tu pregunta es un poco confusa, si tu duda es para el lado del navegador puedes usar: document.URL en javascript para obtenerla.

si es en PHP, $_SERVER es un arreglo asociativo siempre disponible en el script en ejecución no genera llamadas extras al servidor.

si es en PHP pero tu función esta en otro archivo concaténalo directo si lo que no quieres es leer un archivo extra, osea $url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";.

Saludos.

2votos

Leonardo-Tadei Puntos227320

Es correctísimo lo que dice Marcos: leer el valor del vector superglobal $_SERVER no genera ninguna llamada al servidor.

Si tu sitio se satura, debe ser por otra cosa.

Usar JavaScript en vez de PHP para esto es un problema relativamente serio si tu aplicación depende esto, ya que el JavaScipt al residir en el cliente puede ser manipulado a antojo de cada persona que visite el sitio.

0voto

Puntos0

Mediante código JavaScript existe una forma muy sencilla de acceder a la URL de la página. Esto nos permitirá realizar acciones asociadas a dicho dato.

La URL va asociada al objeto document. Dicho objeto va predefinido en el navegador y asociado al documento que se ha cargado.
El atributo al que necesitamos acceder para mostrar la URL es .URL (valga la redundancia).

document.URL

Si queremos escribirlo en la página, nos podemos apoyar en el método .write(), también del objeto document. Es por ello que el código final nos quedará de la siguiente forma:

Este documento se está ejecutando en la siguiente URL:

<script type="text/javascript">
  document.write(document.URL);
</script>

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta