Autor | Zpráva | ||
---|---|---|---|
gully Profil |
Zdravím,
chtěl bych poprosit o radu, jak bych mohl zjistit jméno (php) souboru stránky, která je aktuálně načítaná? Dělám vlstní lokalizátor stránek a v rámci něj používám pro zjištění jména $_SERVER["SCRIPT_NAME"] . Když ho ale includuji do stránky, která je sama include (např. footer.php), tak dostanu jméno souboru té hlavní stránky.
|
||
Ugo Profil |
#2 · Zasláno: 24. 7. 2012, 12:14:54
snad nelžu pole $_SERVER (volanej soubor serverem), konstanta __FILE__ (aktuální soubor) konstanta __DIR__ (php 5.3+ - abs. cesta k __FILE__)
|
||
Joker Profil |
#3 · Zasláno: 24. 7. 2012, 12:16:38
gully:
Buď konstanta __FILE__ , nebo $_SERVER["PHP_SELF"]
Nejjednodušší způsob, jak zjistit takovéhle „serverové“ informace je udělat si var_dump($_SERVER) a pak si z toho vybrat.
|
||
gully Profil |
Trochu jsem rozšířil svoji otázku, omlouvám se, nechtíc jsem ji odeslal dřív. Místo náhledu, jsem ji poslal ...
|
||
Joker Profil |
#5 · Zasláno: 24. 7. 2012, 12:20:20
gully:
„Trochu jsem rošířil svoji otázku“ „Když ho ale includuji do stránky, která je sama include (např. footer.php), tak dostanu jméno souboru té hlavní stránky.“ Tak pak by to co píšeme mělo být ono. V manuálu se u __FILE__ píše: If used inside an include, the name of the included file is returned., takže by to mělo vrátit název toho vloženého souboru a ne hlavního. |
||
gully Profil |
#6 · Zasláno: 24. 7. 2012, 12:46:01
Aha, tak k tomu problému zřejmě přistupuju špatně, protože když tam dám __FILE__, vrátí se mi vždy název toho souboru (lokalizator.php), ve kterém jsem tuto konstantu použil a já bych potřeboval, aby se vrátilo jméno souboru, do kterého byl lokalizator.php includovan, pokud je teda vůbec možné to takto zjišťovat.
|
||
Tori Profil |
#7 · Zasláno: 24. 7. 2012, 13:09:57
Podívejte se, co vrací debug_backtrace, z toho se dá vyfiltrovat název souboru, kam je tento includován.
|
||
gully Profil |
Nakonec jsem použil get_included_files, na kterou jsem narazil právě díky debug_backtrace, na kterou jste mě navedl.
Díky moc! |
||
gully Profil |
#9 · Zasláno: 25. 7. 2012, 11:17:56
Lokalizátor funguje dobře, jen (vlastní) stránka 404 se nepřekládá. Důvod je mi jasný, řešení ale už ne. Poradíte někdo, jak na stránku 404?
|
||
Časová prodleva: 12 let
|
0