progmaker Geschrieben 25. August 2003 Geschrieben 25. August 2003 Hallo, ich möchte eine php-Datei aus einem Verzeichnis includen. Wie das geht, weiss ich. Das Problem ist nur, dass die Datei weitere Dateien aus diesem Verzeichnis aufruft und Links enthält, die auf die Datei selbst verweisen. Wenn ich auf den Link klicke, wird die Datei aufgerufen, aus der includet wurde. Somit funktioniert das ganze nicht. Verständlich? Kann man da irgendwas tun? Zitieren
kinnley Geschrieben 26. August 2003 Geschrieben 26. August 2003 Wenn ich das richtig verstanden habe, liegt das Problem darin, das das include funtkioniert, aber die Links auf die falsche Datei zeigen. Richtig? Zitieren
robotto7831a Geschrieben 27. August 2003 Geschrieben 27. August 2003 Hallo, kannst Du die Links nicht absolut setzen? Sprich http://www.webserver.de/datei.html Frank Zitieren
kills Geschrieben 28. August 2003 Geschrieben 28. August 2003 Original geschrieben von palvoelgyi Hallo, kannst Du die Links nicht absolut setzen? Sprich http://www.webserver.de/datei.html Frank naja dies würde ich als notlösung bezeichnen, ausser du baust dir diesen link mit $PHP_SELF und ähnlichem zusammen, sonst wäre dein script danach äußerst unflexibel was ja nicht sinn und zweck von php sein sollte Zitieren
beetFreeQ Geschrieben 28. August 2003 Geschrieben 28. August 2003 Hmm, mal überlegen. Eigentlich ist es ja so, daß PHP die zu includende Datei einfach in die "Mutterdatei" einfügt und dort dann auch die Pfade der Mutterdatei gelten. Wenn du also in der Include-Datei in dem Unterverzeichnis Links hast, müssen die so gestaltet sein, daß sie aus dem übergeordneten Verzeichnis heraus gelten. Wenn das so nicht möglich ist, weil du die Datei z.B. im Unterverzeichnis direkt includierst o.ä., dann würde ich eine Variable einbauen, die vor dem Include initialisiert wird. In der Include-Datei kannst du dann ja den Wert der Variable abfragen und die Links entsprechend anpassen... - das einfachste wäre vielleicht, in der Variable das Unterverzeichnis anzugeben, wenn die "Mutterdatei" halt im übergeordneten liegt oder sie leer zu lassen, wenn die Mutterdatei im selben Verzeichnis wie die Includedatei liegt. Wenn du die Links dann immer mit dieser Variable zusammensetzt, sollte es funzen... Zitieren
kills Geschrieben 28. August 2003 Geschrieben 28. August 2003 Original geschrieben von beetFreeQ Hmm, mal überlegen. Eigentlich ist es ja so, daß PHP die zu includende Datei einfach in die "Mutterdatei" einfügt und dort dann auch die Pfade der Mutterdatei gelten. Wenn du also in der Include-Datei in dem Unterverzeichnis Links hast, müssen die so gestaltet sein, daß sie aus dem übergeordneten Verzeichnis heraus gelten. Wenn das so nicht möglich ist, weil du die Datei z.B. im Unterverzeichnis direkt includierst o.ä., dann würde ich eine Variable einbauen, die vor dem Include initialisiert wird. In der Include-Datei kannst du dann ja den Wert der Variable abfragen und die Links entsprechend anpassen... - das einfachste wäre vielleicht, in der Variable das Unterverzeichnis anzugeben, wenn die "Mutterdatei" halt im übergeordneten liegt oder sie leer zu lassen, wenn die Mutterdatei im selben Verzeichnis wie die Includedatei liegt. Wenn du die Links dann immer mit dieser Variable zusammensetzt, sollte es funzen... jo das ist natürlich auch eine möglichkeit. sprich: mutterdatei + includedatei im selben ordner: $linkPrefix = "./"; mutterdatei im ordner vor includedatei : $linkPrefix = "./OrdnerDerIncludeDatei/"; includedatei im ordner vor mutterdatei: $linkPrefix = "../"; ist natürlich nicht die schönste art da es auch recht "statisch" wird, Gruß kills Zitieren
progmaker Geschrieben 29. August 2003 Autor Geschrieben 29. August 2003 Das Problem ist nur, dass die zu includierte Datei nicht von mir kommt und ich sie ungern ändern würde. Also gibt es keine Möglichkeit/Funktion, das zu realisieren. Schade, dann muss ich mir was anderes ausdenken. Danke euch! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.