Holen Sie sich mit dem Namen der Datei, die lief PHP-include
Bei der Verwendung der PHP -include
, wie finde ich heraus, welche Datei ruft die include
? Kurz gesagt, was ist die übergeordnete Datei mit dem Namen?
- Eine bessere Frage ist, warum müssen Sie dies wissen? Vielleicht gibt es einen besseren Weg, von explizit zu tun, was Sie versuchen zu erreichen.
- Ich möchte dies wissen, so dass ich verwenden können, eine include zu ersetzen, der gesamte head-Bereich des Dokuments. Im head-Bereich bin ich die dynamische Erstellung des Etiketts durch str_replacing die mit dem Namen Bindestriche mit Leerzeichen und uc Worte, um zu bedecken es. Problem ist, die Datei ist in der Datei enthalten nicht die Eltern. Ich bin mit der Antwort von @animuson (akzeptierte Antwort) nur falls sich jemand noch fragt, warum dies gewünscht werden könnten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine einfache Möglichkeit ist eine variable zuordnen in der übergeordneten Datei (vor dem inclue), verweisen Sie auf die variable in der Datei enthalten.
Übergeordneten Datei:
Datei Enthalten:
Könnte man auch Durcheinander herum mit
get_included_files()
oderdebug_backtrace()
und das Ereignis zu finden, Wann und wo die Datei habe enthalten, aber das kann ein wenig chaotisch und kompliziert.Ich denke das sollte das richtige Ergebnis, wenn es nur einen Elternteil.
Damit meine ich die situation, wo die Eltern ist nicht erforderlich oder eine enthaltene Datei selbst.
Späte Antwort, aber ...
Überprüfe ich die ausgeführten übergeordneten Dateinamen mit Hilfe von:
$var
Werte in 100+ anderen Seiten als die anderen Antworten vorschlagen.SCRIPT_NAME
gibt die erste Datei. undREQUEST_URI
ist, steht außer Frage! Sie wird nicht helfen, in jedem CMS. Verwendendebug_backtrace()
oderget_included_files()
$_SERVER['SCRIPT_NAME']
ist der Wert, der benötigt wird hier.Könnten Sie debug_backtrace() direkt ohne weitere änderungen innerhalb der Datei enthalten:
Diesem geben Sie den Namen der Datei, die auch für Sie selbst.
Finden Sie alles, was Sie haben den Zugriff von innerhalb der Datei, und führen Sie diese von innen:
Bekommen Sie so etwas wie:
In der übergeordneten Datei, fügen Sie diese Zeile vor, einschließlich der untergeordneten Datei:
Und dann in der untergeordneten Datei, Lesen Sie die session-variable: