Hoe de URL van de huidige pagina in PHP te krijgen

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.

Other episodes