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?
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?
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
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
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...
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
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!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden