include ordnerhierarchie

  • Nabend!
    Also ich bin z.Z. mit einem größeren Projekt beschäftigt und arbeite viel mit inlude.
    Dabei verwirrt mich aber eine Sache. Ich zeig euch am besten mal die Ordnerhierarchie mit den Includes (So funktioniert es!):

    Es wird ja letztlich alles in www-data/index.php eingebunden. Müssen sich die Pfade dann nicht auf www-data beziehen? Also müsste es nicht eigentlich heißen:

    Code
    include(mods/reg/register.php); und include(mods/ins/ec.php);


    So bekomme ich aber den typischen Fehler, dass die angegebene Datei im include-Befehl nicht gefunden werden konnte.

    Ich hoffe ich habe mein "Problem" verständlich geschildert.

    MfG Markus

  • Wenn du aus dem Ordner wieder nach oben willst, dann musst du zwei Punkte setzen:

    Code
    include(../../captcha/captcha.php)

    So sollte es gehen! Bei den anderen genau so.

  • firefox5.0, genauer lesen. Er lässt alles über die Index.php im Root laufen. Von daher kann er auch alle anderen Pfadangaben so schreiben, als ob er sich im Root befindet.


  • Zitat von jojo87

    firefox5.0, genauer lesen. Er lässt alles über die Index.php im Root laufen. Von daher kann er auch alle anderen Pfadangaben so schreiben, als ob er sich im Root befindet.

    Ganz genau! Aber im einen Fall mache ich das [include(captcha/captcha.php);] und im anderen Fall nicht [include(register.php);].
    Funktioniert aber beides.

  • Zitat von Faafoo


    Ganz genau! Aber im einen Fall mache ich das [include(captcha/captcha.php);] und im anderen Fall nicht [include(register.php);].
    Funktioniert aber beides.

    Wo ist der unterschied? Es kommt drauf an, wo sich die Datei befindet, in der der include() Befehlaufgerufen wird.
    Funktioniert es denn nun?

    Gruß,
    Jojo


  • Es kommt eben nicht darauf an wo sich die Datei befinden die den Include-Befehl enthält.
    Aus diesem Grund:

    Zitat von jojo87

    firefox5.0, genauer lesen. Er lässt alles über die Index.php im Root laufen. Von daher kann er auch alle anderen Pfadangaben so schreiben, als ob er sich im Root befindet.

    Ich habe in meinem ersten Posting noch was dazu geschrieben in der Ordnerhierarchie, vllt versteht mans so noch besser.

  • Und ich habe dir in meinem ersten Posting einen Lösungsvorschlag gegeben.
    Es würde mich freuen, wenn du Rückmeldung darüber gibst, ob es funktioniert, damit wir hier weitermachen können.
    Nochmal:
    Lass die Klamern weg (da include ein Sprachkonstrukt ist und keine Funktion), und versuche einmal, mit den relativen Pfadangaben dieser Art zum Ziel zu gelangen.
    Also so:

    Code
    include"./mods/reg/index.php";


  • Zitat von jojo87


    Lass die Klamern weg (da include ein Sprachkonstrukt ist und keine Funktion), und versuche einmal, mit den relativen Pfadangaben dieser Art zum Ziel zu gelangen.
    Also so:

    Code
    include"./mods/reg/index.php";


    Auf diese Art funktionierts überall mit korrekten Pfadangaben die sich alle aufs Stammverzeichniss beziehen. Ok, danke.

    Aber ich wüsste irgentwie trotzdem gerne, warum bei meiner Variante oben einmal die aufs Stammverzeichnis bezogene Pfadangabe richtig ist (include "captcha/captcha.php") und einmal die, die sich auf den Ordner bezieht in der die einbindende Datei liegt (include "register.php").

    Vllt weiß da noch jemand eine Antwort drauf.