Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12
  1. #1
    TheRealDarklord
    Inaktiv

    Frage PHP - include() und kleine Tücken

    Hallo Leute,

    ich komm mal gleich zur Sache
    Ich arbeite derzeit an einem Browsergame und ich habe dafür ein Verzeichnis auf meinem Apache angelegt. Nun habe ich alle verschiedenen Dateien in dieses Verzeichnis erstellt und alle includes in einen Unterordner "include". Dazu gehören auch Templates, die von den Spieldateien includiert werden. Innerhalb der Template-Dateien gibt es weitere includes zu einer language.php und einer session.php (Dateibaum am Ende)

    Zu meinem Spiel möchte ich jedoch auch ein unabhängiges Admin-Tool basteln, welches im Unterordner "admin" Platz finden soll. Dieses Tool soll aber auch auf die Templates und die language und die Session zugreifen.
    Wenn ich dann das Template includieren will, so findet er den Link zu der language.php und der session.php nicht mehr.

    Der Verzeichnisbaum ist in etwa so.

    Spielverzeichnis
    Code:
    +admin
      -index.php
    +include
      +template
        -header.php
        -footer.php
      -language.php
      -session.php
    -index.php
    etc.
    Ist es möglich, dass ich von den beiden existierenden index.php aus ohne große Umstände das Template includieren kann? Wenn ja, wie?
    Und wie ist es sonst möglich (mit großen Umständen)?

    Gruß, TRD

  2. #2
    Linsenhofener Sämling Avatar von mullzk
    Registriert
    01.2004
    Ort
    Bern (CH), und zwar im Zentrum
    Alter
    34
    Beiträge
    2.529

    Re: PHP - include() und kleine Tücken

    hmm, wie machste du es denn jetzt? sollte eigentlich mit einem include("../include/language.php") problemlos gehen...
    Zukunft braucht Erinnerung: http://www.shoa.de

  3. #3
    TheRealDarklord
    Inaktiv

    Re: PHP - include() und kleine Tücken

    Oh

    derzeit habe ich einene include auf die header.php
    von der admin/index.php aus:
    include("../include/template/header.php");

    von der index.php aus
    include("include/template/header.php");

    in der header.php steht
    include("./include/language.php");


    sofern die header.php von der index.pgp includiert wird, gibt es keinen Fehler
    wird sie aber von der admin/index.php aus includiert regnet es nen Fehler dass die language.php net gefunden wird

  4. #4
    Süssreinette (Aargauer Herrenapfel) Avatar von Demo
    Registriert
    04.2004
    Ort
    Leipzig
    Alter
    32
    Beiträge
    410

    Re: PHP - include() und kleine Tücken

    Zitat Zitat von TheRealDarklord
    Oh

    derzeit habe ich einene include auf die header.php
    von der admin/index.php aus:
    include("../include/template/header.php");

    von der index.php aus
    include("include/template/header.php");

    in der header.php steht
    include("./include/language.php");


    sofern die header.php von der index.pgp includiert wird, gibt es keinen Fehler
    wird sie aber von der admin/index.php aus includiert regnet es nen Fehler dass die language.php net gefunden wird
    mag sein, dass ich etwas verwirrt bin ob der fruehen Zeit am Sonntag aber sollte das nicht
    Code:
    include("../include/language.php");
    in der header.php heissen? Sollte ich irgendwas grad falsch gepeilt hab - einfach den post ignorieren .
    Signatur verreisst.

  5. #5
    Süssreinette (Aargauer Herrenapfel) Avatar von Demo
    Registriert
    04.2004
    Ort
    Leipzig
    Alter
    32
    Beiträge
    410

    Re: PHP - include() und kleine Tücken

    Achja, ich hab noch was vergessen. Diese Seite ist immer ganz hilfreich, wenns grad mit Fehlermeldungen im Kopf stockt.

    Und vielliecht mal den genauen Wortlaut der Fehlermeldung posten?
    Signatur verreisst.

  6. #6
    Sandal Tolk
    Inaktiv

    Re: PHP - include() und kleine Tücken

    in der header.php steht
    include("./include/language.php");


    Na dann ist doch alles klar. ./ sagt eigentlich das Dir in dem man sich grade befindet und das sollte dann /templates sein, da dort die heade php ist... also einfach dort entweder mit /include/language.php includen oder ../language.php. eins von beiden sollte gehen schätz ich.

  7. #7
    Schöner von Nordhausen Avatar von slartibartfast
    Registriert
    05.2005
    Ort
    Erde
    Beiträge
    323

    Re: PHP - include() und kleine Tücken

    ich glaub, ich weiß, wo das Problem liegt...

    es ist so: der per "include" eingebundene Code wird immer im Kontext der aufrufenden Datei ausgeführt, es ist nix anderes, als ob der Code der include-Datei direkt im Code stehen würde.

    Übertragen auf dein Problem sieht das so aus:

    index.php:
    include(include/templates/header.php)
    -> include(include/language.php)

    aber in der admin/index.php
    steht dann
    include(../include/templates/header.php)
    als Folge haben wir dann im auszuführenden Code
    -> include(include/language.php)
    stehen. das würde aber auf die Datei "admin/include/language.php" verweisen, nicht auf "include/language.php", da der Code ja, wie gesagt, aus der Sicht der ersten aufrufenden Datei gesehen werden muss.


    so, wie lösen wir das jetzt?

    Ich mache das immer so:
    in jeder Seite, die man per Browser aufruft (z.B. index.php - nicht die Templates etc.), definierst du am Anfang eine Variable, die den relativen Pfad zum Wurzelpunkt des Web-Projects angibt.
    in index.php ist dann so:
    Code:
    $rootdir="./";
    ind admin/index.php
    Code:
    $rootdir="../";
    usw.

    in deiner header.php schreibst du dann statt
    Code:
    include($rootdir."includes/language.php");
    ...voilà...


    hilft dir das weiter?
    wenn du was nicht so verstanden hast, einfach nochmal posten liegt dann an mir, nicht an dir

    Ach so, das mit dem $rootdir ist auch ein guter Trick, um z.B. aus der header.php Bilder einzufügen:
    Code:
    <img src="<?php echo $rootdir ?>img/logo.png" width="100" height="44" alt="Logo"/>
    (oder so... )


    Grüße
    slartibartfast

    PS: kann sein, dass ich da was mit den PHP-Statements nicht exakt gemacht hab'... ist schon länger her, seit ich das letzte mal zum PHP-Coden gekommen bin. aber vom Prinzip her müsste es stimmen
    think different!

  8. #8
    TheRealDarklord
    Inaktiv

    Re: PHP - include() und kleine Tücken

    Danke slartibartfast.
    So werde ich das dann machen.

    Und dem Rest danke ich auch für die schnelle Hilfe

    Man sieht sich bei weiteren Problemen

  9. #9
    Linsenhofener Sämling Avatar von mullzk
    Registriert
    01.2004
    Ort
    Bern (CH), und zwar im Zentrum
    Alter
    34
    Beiträge
    2.529

    Re: PHP - include() und kleine Tücken

    oder indem du die datei auf die root der site zurückführst. zB
    <img src="<?php echo $_SERVER['DOCUMENT_ROOT']?>/img/logo.png" >

    Dann brauchst du diese hässlichen $rootdir nicht in jedem file anzulegen...
    Zukunft braucht Erinnerung: http://www.shoa.de

  10. #10
    TheRealDarklord
    Inaktiv

    Re: PHP - include() und kleine Tücken

    Ok, das scheint interessant zu klingen.
    Kannst du mir das mal bitte anhand meines Problems erläutern?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. ImageMagick: Aber wo?
    Von Macholino im Forum Grafikbearbeitung & Layout
    Antworten: 10
    Letzter Beitrag: 25.09.2005, 16:39

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •