kostenloser Webspace werbefrei: lima-city


Include()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    ich habe eine Datei inc/test.inc (Inhalt ist PHP Code), die ich in eine Datei index.php mit include() einf?ge. Wenn ich jetzt die Datei index.php aufrufe, dann ?berpr?fe ich in der test.inc Datei, ob die Datei inc/test.inc existiert und es wird false zur?ckgeliefert.
    Meiner Meinung nach sollte es ja true zur?ckliefern, da sich der Ort nicht mit include ver?ndert, auch wenn ich eine Datei in 1000 Unterordner einf?ge.
    Was kann ich dagegen tun, oder was habe ich falsch gemacht?

    mfg,
    hr
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wie jetzt?
    Du includest eine Datei und dannach ?berpr?fst du, ob diese existiert? :eek:
    Man sollte Dateien mit PHP-Code lieber als *.php abspeichern, damit niemand den Code ohne weiteres einsehen kann.

    MfG Lucas
  4. Also du musst immer den Pfad angeben, den die zu includierende Datei von dem Verzeichnis der Datei, in die die zu includierende Datei eingef?gt werden soll, hat. Das ist nat?rlich nicht notwendig, wenn du einen genauen Pfad angibst. Ansonsten hat Lucas Recht. Mach doch daraus test.inc.php.

  5. Also du musst immer den Pfad angeben, den die zu includierende Datei von dem Verzeichnis der Datei, in die die zu includierende Datei eingef?gt werden soll, hat. Das ist nat?rlich nicht notwendig, wenn du einen genauen Pfad angibst. Ansonsten hat Lucas Recht. Mach doch daraus test.inc.php.


    Das ist auf keinen Fall niemals nicht falsch ;O)
    Auf Deutsch:
    Der Pfad zu test.inc muss immer relativ zu index.php sein. Das ist nicht notwendig, wenn du absolute Pfade verwendest.

    Okay, jetzt zur eigentlichen Frage:
    Man hat eine Datei im Rootverzeichnis (a.php) und included 'include/b.php'.
    Wenn man nun in 'b.php' per include 'c.php' einf?gen will, wird erst in '/root/' nach 'c.php' gesucht und wenn sie dort nicht existiert, wird in '/root/include/' nach 'c.php' gesucht.
    Es m?sste also folglich funktionieren, dass direkt in '/root/include/' nach 'c.php' gesucht wird, wenn sie per 'include/c.php' in 'b.php' eingef?gt wird.

    Also verstehe ich nicht, farum bei dir 'false' zur?ck gegeben wird. Vielleicht liegts am Script selbst.
  6. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    ist es nicht so, dass .php Dateien vor dem includen ausgef?hrt werden? Deswegen habe ich die Datei als .inc gespeichert, denn wenn ich z.B: im inc/ Verzeichnis nach z.B. img.gif suche, dann wird das gar nicht gefunden, wenn es im Unterordner von index.php ist.
    Trotzdem finde ich es sehr seltzam, denn wenn ich in test.inc mit chdir() um einen Ordner nach hinten Springe (chdir("../")), dann funktioniert es auf einmal.
    Ich habe noch keine richtige Probleml?sung gefunden.

    mfg,
    hr


  7. Also du musst immer den Pfad angeben, den die zu includierende Datei von dem Verzeichnis der Datei, in die die zu includierende Datei eingef?gt werden soll, hat. Das ist nat?rlich nicht notwendig, wenn du einen genauen Pfad angibst. Ansonsten hat Lucas Recht. Mach doch daraus test.inc.php.


    Das ist auf keinen Fall niemals nicht falsch ;O)
    Auf Deutsch:
    Der Pfad zu test.inc muss immer relativ zu index.php sein. Das ist nicht notwendig, wenn du absolute Pfade verwendest.

    Lesen?!
    Wenn du das genau getan h?ttest, dann h?ttest du gemerkt das ich genau das geschrieben habe, was du auch geschrieben hast.

    Also du musst immer den Pfad angeben, den die zu includierende Datei von dem Verzeichnis der Datei, in die die zu includierende Datei eingef?gt werden soll, hat.

    =relativer Pfad

    Das ist nat?rlich nicht notwendig, wenn du einen genauen Pfad angibst.

    =absoluter Pfad

    @heavyraptor
    Hier mal ein Beispiel:
    ordner/inc/test.inc
    ordner/index.php
    ordner/inc/img.gif

    Wenn du nun in index.php die Datei test.inc includen willst, dann muss es so hei?ten:
    include("inc/test.inc");

    Wenn du in test.inc die Datei img.gif includen willst und test.inc schon in index.php eingef?gt hast, dann:
    include("inc/img.gif");

    Aber wie gesagt ist das alles egal, wenn du zum Beispiel http://heavyraptor.lima-city/ordner/test.inc includest.
  8. f**o

    Die Dateien werden vor dem Includen nicht ausgef?hrt!

    Include hei?t,dass der Inhalt einer anderen Datei in die Datei geschrieben wird.
  9. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    ich hab das ganze noch mal neu geschrieben, und jetzt hat es funktioniert. Ich neheme an, dass irgendwo ein Tippfehler war.
    Danke an alle.

    @fflo:
    So viel ich weiss werden .php-Datei vor dem Includen geparst, deswegen muss man die Endung ?ndern, wenn man das nicht will.

    mfg,
    hr
  10. Vor und nach dem Includieren kann man nicht wirklich sagen. Die Datei wird eher beim includieren geparst. Der Parser sieht den include befehl und parst dann die zu includierende Datei und macht dann mit der normalen Datei weiter, um es mal sehr ungenau auszudr?cken.^^
  11. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    ich denke auch, dass es so abl?uft. Jedoch wird die "incluierte" Datei in der Datei, die die Datei einbindet, geparst (oder in diesem Ordner, "in der Datei" ist vielleicht nicht richtig; auf jeden Fall so, sodass alle paths die gleichen sind, wie in dieser der Datei). Sonst w?rden n?mlich andere include-Befehle in der eingef?gten Datei nicht richtig funktionieren, weil die Datei im falschen Order ist.

    mfg,
    hr
  12. @i-spacke:
    Sorry, ich habe mir da einen kleinen Spa? erlaubt. Ich habe doch gesagt, dass Du recht hast ;O)

    "Das ist auf keinen Fall niemals nicht falsch" = "Das ist richtig" ;O)

    Du hast Dich nur so kompliziert ausgedr?ckt.
    Sei mir bitte nicht b?se.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!