Hoe kan ik in PHP de URL van de huidige pagina krijgen? Bij voorkeur alleen de delen na http://domain.com.
Antwoord 1, autoriteit 100%
$_SERVER['REQUEST_URI']
Voor meer details over welke informatie beschikbaar is in de $_SERVER array, zie de PHP-handleiding ervoor.
Als je ook de querystring nodig hebt (het bit na de ?
in een URL), zit dat deel in deze variabele:
$_SERVER['QUERY_STRING']
Antwoord 2, autoriteit 33%
als je alleen de delen van de url wilt na http://domain.com, probeer dan dit:
<?php echo $_SERVER['REQUEST_URI']; ?>
als de huidige url http://domain.com/some-slug/some-idwas, echo geeft alleen ‘/some-slug/some-id’ terug.
als je de volledige url wilt, probeer dan dit:
<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
Antwoord 3, autoriteit 9%
$uri = $_SERVER['REQUEST_URI'];
Hierdoor krijgt u de gevraagde directory en bestandsnaam. Als je mod_rewrite gebruikt, is dit erg handig omdat het je vertelt naar welke pagina de gebruiker keek.
Als u de eigenlijke bestandsnaam nodig hebt, wilt u misschien een $_SERVER['PHP_SELF']
, de Magic Constant __FILE__
of $_SERVER['SCRIPT_FILENAME']
. De laatste 2 geeft u het volledige pad (van de root van de server), in plaats van alleen de root van uw website. Ze zijn handig voor omvat en dergelijke.
$_SERVER['PHP_SELF']
geeft u de bestandsnaam ten opzichte van de root van de website.
$relative_path = $_SERVER['PHP_SELF'];
$complete_path = __FILE__;
$complete_path = $_SERVER['SCRIPT_FILENAME'];
4, Autoriteit 4%
De andere antwoorden zijn correct. Een snelle opmerking: als u het spul op zoek bent na de ?
In een URI, moet u de $_GET[]
array.