Få absolutt bane for gjeldende skript
Jeg har søkt høyt og lavt og får mange forskjellige løsninger og variabler som inneholder informasjon for å få den absolutte banen. Men de ser ut til å fungere under noen forhold og ikke under andre. Er det en sølvkule måte å få den absolutte banen til det utførte skriptet i PHP? For meg vil skriptet kjøre fra kommandolinjen, men en løsning skal fungere like bra hvis den kjøres i Apache etc.
Forklaring: Det opprinnelig utførte skriptet, ikke nødvendigvis filen der løsningen er kodet .
238
3
Konstanten
__FILE__
gir deg den absolutte banen til gjeldende fil.Oppdater:
Spørsmålet ble endret til å spørre hvordan du henter det opprinnelig kjørte skriptet i stedet for det skriptet som kjører for øyeblikket. Den eneste (??) pålitelige måten å gjøre det på er å bruke funksjonen
debug_backtrace
.Eksempler på:
https://(www.)example.com/subFolder/myfile.php?var=blabla#555
.Merknad!
DIRECTORY_SEPARATOR
returnerer\
for Windows-type hosting, i stedet for/
.For WordPress
Hvis du plasserer dette i en inkludert fil, skriver den ut banen til denne inkluderingen. For å få banen til det overordnede skriptet, erstatt
__FILE__
med$_SERVER['PHP_SELF']
. Men vær oppmerksom på at PHP_SELF er en sikkerhetsrisiko!