Ich habe eine Datei header.php, die ich als ein Include auf jeder Seite meiner Website verwende. Darin befinden sich die Navigationslinks der Site.Relative Dateipfade für Links innerhalb eines PHP sind
Hinweis: Ich möchte keine absoluten Dateipfade verwenden, da ich keine Ahnung von der Ordnerstruktur des Servers habe, auf dem die Site hochgeladen werden soll. Es muss funktionieren, egal wo die Website auf dem Server platziert wird. In diesem Sinne habe ich zwei Fragen:
) Gibt es einige PHP kann ich auf den Anfang des Dateipfads anwenden, wenn ich die header.php? Meine Website wird viele Unterverzeichnisse haben und es wird einfach zu zeitaufwendig sein, die Website mental zu durchqueren, um auf den Ordner zu zeigen, in dem sie sich jedes Mal befindet, wenn ich sie einfügen möchte.
) Wie kann ich sicherstellen, dass die Navigationslinks in der header.php immer korrekt sind? z.B. Ein Link zurück zur Homepage wäre "../index.php", wenn es ein Verzeichnis darunter wäre, aber sonst würde es nicht funktionieren.
Ich würde sehr dankbar Hilfe, danke.
Befinden sich alle Dateien der Site im Stammverzeichnis des Dokuments? –
Wir haben ein ähnliches Problem mit einem Autoloader gelöst, um eine Klasse aufzurufen, die in mehreren Skripten verwendet wird, einige in verschiedenen Unterverzeichnissen. Versuchen Sie, Ihr header.php-Skript in eine Klasse zu setzen und dann einen Autoloader aufzurufen, es vereinfacht Ihr Projekt sehr und Sie brauchen nicht 30 in jedem Skript, um alle Ihre Abhängigkeiten zu laden. – ctwheels
@AdamForbis Ja, aber das Dokument root wird anders sein, sobald es auf dem Server ist. Also kann ich nicht etwas wie $ _SERVER ['DOCUMENT_ROOT'] verwenden. – user3669771