$ _SERVER gebruiken in PHP

$ _SERVER is een van de PHP globale variabelen genaamd Superglobals - die informatie bevatten over server- en uitvoeringsomgevingen. Dit zijn vooraf gedefinieerde variabelen, zodat ze altijd toegankelijk zijn vanuit elke klasse, functie of bestand.

De vermeldingen hier worden herkend door webservers, maar er is geen garantie dat elke webserver elke Superglobal herkent. Deze drie PHP $ _SERVER arrays gedragen zich allemaal op dezelfde manier - ze retourneren informatie over het gebruikte bestand. Bij blootstelling aan verschillende scenario's gedragen ze zich in sommige gevallen anders. Deze voorbeelden kunnen u helpen beslissen welke het beste is voor wat u nodig hebt. Een volledige lijst met $ _SERVER arrays is beschikbaar op de PHP-website.

$ _SERVER [ 'PHP_SELF']

PHP_SELF is de naam van het script dat momenteel wordt uitgevoerd.

  • http://www.uwsite.com/voorbeeld/ - -> /example/index.php
  • http://www.uwsite.com/voorbeeld/index.php - -> /example/index.php
  • http://www.uwsite.com/voorbeeld/index.php?a=test - -> /example/index.php
  • http://www.uwsite.com/voorbeeld/index.php/dir/test - -> / Dir / test

Wanneer u $ _SERVER ['PHP_SELF'] gebruikt, wordt de bestandsnaam /example/index.php geretourneerd, zowel met als zonder de bestandsnaam die in de URL is getypt. Wanneer variabelen aan het einde zijn toegevoegd, zijn ze afgekapt en opnieuw is /example/index.php geretourneerd. De enige versie die een ander resultaat heeft opgeleverd, bevat mappen die achter de bestandsnaam zijn toegevoegd. In dat geval retourneerde het die mappen.

$ _SERVER [ 'REQUEST_URI']

REQUEST_URI verwijst naar de URI die wordt gegeven om toegang te krijgen tot een pagina.

  • http://www.uwsite.com/voorbeeld/ - -> /
  • http://www.uwsite.com/voorbeeld/index.php - -> /example/index.php
  • http://www.uwsite.com/voorbeeld/index.php?a=test - -> /example/index.php?a=test
  • http://www.uwsite.com/voorbeeld/index.php/dir/test - -> /example/index.php/dir/test

Al deze voorbeelden retourneerden precies wat er voor de URL was ingevoerd. Het retourneerde een gewone /, de bestandsnaam, de variabelen en de bijgevoegde mappen, allemaal net zoals ze waren ingevoerd.

$ _SERVER [ 'SCRIPT_NAME']

SCRIPT_NAME is het pad van het huidige script. Dit is handig voor pagina's die naar zichzelf moeten verwijzen.

  • http://www.uwsite.com/voorbeeld/ - -> /example/index.php
  • http://www.uwsite.com/voorbeeld/index.php - -> /example/index.php
  • http://www.uwsite.com/voorbeeld/index.php?a=test - -> /example/index.php
  • http://www.uwsite.com/voorbeeld/index.php/dir/test - -> /example/index.php

Alle gevallen hier retourneerden alleen de bestandsnaam /example/index.php, ongeacht of deze is getypt, niet is getypt of er iets aan is toegevoegd.