2009-12-09 18 views

Respuesta

25

Por favor, vea PHP Get Current URL:

A veces no es tan sencillo como uno puede pensar para obtener la corriente url para usarlo dentro de su aplicación. Aquí hay un fragmento que utilizo para buscar la URL actual y usarla en un script . La URL actual (ya sea http o https) ahora es una variable local que puede hacer con lo que desee.

$url = "http".(!empty($_SERVER['HTTPS'])?"s":""). 
"://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 

Nota: Se debe preparar a este valor antes de usar en todo lo sensible, como una consulta SQL.

+0

no se encuentra .. – b3wii

+0

si utiliza reescritura para agregar las variables después de la el script, como /x.php/123/456 y luego usando REQUEST_URI incluirá esos parámetros. SCRIPT_NAME podría ser mejor. –

2

Si necesita información como esta, a menudo es conveniente mirar la salida de phpinfo() y luego leer los documentos sobre esos elementos que parecen buenos.

Tenga en cuenta que algunos de ellos podrían ser correctas en su servidor, pero un poco diferente a los demás .. Dependiendo del sistema operativo, servidor HTTP, etc.

0

Suponga que está accediendo

How do I get the current URL of my script using PHP?

continuación echo $ _SERVER ['SERVER_NAME']; // Este u se devuelva el nombre de host que es: -

stackoverflow.com/

y echo $ _SERVER [ 'REQUEST_URI']; // Devolverá solo el nombre del archivo de la url actual volverá por debajo de

"/ questions/1871770/how-do-i-get-the-current-url-of-my-script-using-php"

y no el nombre de host.

+0

No use * PHP_SELF *. – Gumbo

+0

sí ... PHP_SELF solo devolverá el archivo ... y no los otros parámetros ... y si uno necesita una ruta completa, entonces tiene que usar "REQUEST_URI", y he editado mi respuesta ... – ravindrakhokharia

+1

sin mencionar que PHP_SELF es vulnerable a XSS. –

3

Si usted quiere saber el nombre del script en su servidor, entonces ..

$file = $_SERVER["SCRIPT_NAME"]; 
echo $file; 

$ _SERVER [ "SCRIPT_NAME"] le dará la ruta del script ejecutado actual, que se refiere en su servidor no en la url del navegador.

3

Para www.example.com/files/script.php

$_SERVER['SCRIPT_NAME'] = /archivos/script.php

y si desea que el actual directorio url:

dirname($_SERVER['SCRIPT_NAME']) = /archivos

0

Hola esta es la solución de su problema

// recuperar la página url por esta

$url=$_SERVER['REQUEST_URI']; 
echo "$url<br />"; 

// it w impresión enferma

// fetch acogida por esta

$host=$_SERVER['HTTP_HOST']; 
echo "$host<br />"; 

// url se puede recuperar por completo este puerto del servidor

$fullurl="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
echo $fullurl; 
Cuestiones relacionadas