Buonasera a tutti,
esiste una variabile PHP che recuperi l'URL del sito
Ad es., se la home page del mio sito è in http://www.somehoster.com/level1/sublevel2/index.php, dovrebbe restituirmi http://www.somehoster.com/level1/sublevel2/
Buonasera a tutti,
esiste una variabile PHP che recuperi l'URL del sito
Ad es., se la home page del mio sito è in http://www.somehoster.com/level1/sublevel2/index.php, dovrebbe restituirmi http://www.somehoster.com/level1/sublevel2/
Ti suggerisco di iniziare leggendo il manuale ufficiale:
http://www.php.net/dirname
In alternativa, crea una costante.
Non so se ho capito bene cosa chiedi, ma se ho interpretato bene, vuoi che mostri l'url senza index.php, il comando e' il seguente per darti l'url della pagina corrente:
Codice PHP:
<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
Devo dire la verità, in maniera MOLTO, ma MOLTO meno raffinata e robusta di questa function, le $_SERVER le ho usate anch'ioOriginariamente inviato da Webbabe
Non so se ho capito bene cosa chiedi, ma se ho interpretato bene, vuoi che mostri l'url senza index.php, il comando e' il seguente per darti l'url della pagina corrente:
Codice PHP:
<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
Però, mi pare che non esista una $_SERVER che restituisca l'URL della root.
Nella pratica: ho una macchina di test in cui la home si raggiunge con http://localhost:8081/miosito/, in produzione è http://www.miosito.com/
Mi serve una variabile, o function, o.... che sulla macchina di test restistuisce http://localhost:8081/miosito/, su quella di produzione http://www.miosito.com/
Ah, l'unico miglioramento che ti posso suggerire, è che con $_SERVER['HTTP_HOST'] ti risparmi l'ultimo if
Inoltre (ma questa l'ho copiata dal manuale di dirname... ), questa è una soluzione molto elegante per recuperare il prefisso:
$url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';
IMHO è molto più semplice se utilizzi una costante.
Non esiste un modo per riuscire ad ottenere l'URL che ti serve con assoluta certezza in base ai valori contenuti in $_SERVER.
Era il Piano B.Originariamente inviato da filippo.toso
IMHO è molto più semplice se utilizzi una costante.
Ogni Charlie's Angel ha sempre un Piano B