Der Versuch, PHP zu verwenden, in einer Errordokumentseite einbezieht, funktioniert jedoch nicht in verschiedenen Verzeichnissen

StackOverflow https://stackoverflow.com/questions/19850016

Frage

Ich glaube, ich habe festgestellt, dass include nicht immer funktioniert, wenn ich eine Errordokument -benutzerdefinierte Fehlerseite habe, da das Einfügen ein Verzeichnis benötigt, und die Seite, auf der der Fehler in einem anderen Verzeichnis liegt.

directory1/directory2/thispagecausesa404error.php

directory1/thispagecausesa404error.php

Wenn ich habe include includepage.php; Auf meiner Errordokumentseite funktioniert es nicht.

Ich beschloss, das Hinzufügen zu machen include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php'; Auf der Errordokument -Seite, die das Problem löst, aber ich vermute, dass ich etwas falsch mache oder nicht den richtigen Weg sehe, um eine fehlerfreie Einstellung auf einer Fehlerseite zu haben.

Was mache ich falsch?

War es hilfreich?

Lösung

Ich würde empfehlen, sich nie darauf zu verlassen DOCUMENT_ROOT richtig eingestellt werden. Verwenden Sie stattdessen einen relativen Pfad aus dem aktuellen Skript über die __DIR__ Magie konstant, z.B

include __DIR__ . '/relative/path/from/this/script/to/includepage.php';

Der Pfad kann auch über das übergeordnete Verzeichnis durchlaufen ../ falls erforderlich, z.

include __DIR__ . '/../../some/dir/includepage.php';
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top