PHP: Funzione che ritorna l’URL attuale

Avete mai avuto necessità di rilevare automaticamente l’URL completo della pagina attuale? Ecco una ricetta che funziona per URL sia http: che https: (esempio: http://www.dominio.com/cartella/pagina.php)

function selfURL() { 
 $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; 
 $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; 
 $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); 
 return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; 
} 

function strleft($s1, $s2) { 
 return substr($s1, 0, strpos($s1, $s2)); 
}

echo selfURL();

Ed eccone una che torna solo la pagina attuale, senza url o percorsi (esempio: pagina.php):

function selfPage() {
	return substr($_SERVER['PHP_SELF'],1+strrpos($_SERVER['PHP_SELF'],'/'));
}

echo selfPage();

 

Per finire, se vi basta un URL mancante della componente nome server e degli eventuali parametri querystring (esempio: /cartella/pagina.php), ecco qua:

 

echo $_SERVER['PHP_SELF'];

 

Scritto da Cristiano Leoni

Cristiano Leoni

Cristiano è sviluppatore di siti web ed è specializzato in tecnologie e soluzioni avanzate per Internet, in particolare PHP, WordPress e Prestashop.
Puoi seguirlo su Siti Web Bologna su Google+, Siti Web Bologna su Twitter, Siti Web Bologna su Facebook,

Altri post utili


Valuta questo articolo

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...