Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

Wenn ich das richtig verstanden habe, liegt das Problem darin, das das include funtkioniert, aber die Links auf die falsche Datei zeigen. Richtig?

Genau!

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

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...

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

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!

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.