hmm, wie machste du es denn jetzt? sollte eigentlich mit einem include("../include/language.php") problemlos gehen...
Ergebnis 1 bis 10 von 12
- 06.11.2005, 00:05 #1TheRealDarklordInaktiv
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
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?Code:+admin -index.php +include +template -header.php -footer.php -language.php -session.php -index.php etc.
Und wie ist es sonst möglich (mit großen Umständen)?
Gruß, TRD
- 06.11.2005, 00:10 #2Linsenhofener Sämling
- Registriert
- 01.2004
- Ort
- Bern (CH), und zwar im Zentrum
- Alter
- 34
- Beiträge
- 2.529
Re: PHP - include() und kleine Tücken
Zukunft braucht Erinnerung: http://www.shoa.de
- 06.11.2005, 00:14 #3TheRealDarklordInaktiv
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
- 06.11.2005, 09:37 #4
Re: PHP - include() und kleine Tücken
mag sein, dass ich etwas verwirrt bin ob der fruehen Zeit am Sonntag aber sollte das nicht
Zitat von TheRealDarklord
in der header.php heissen? Sollte ich irgendwas grad falsch gepeilt hab - einfach den post ignorierenCode:include("../include/language.php");
. Signatur verreisst.
- 06.11.2005, 09:40 #5
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.
- 06.11.2005, 13:11 #6Sandal TolkInaktiv
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.
- 06.11.2005, 13:46 #7
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:
ind admin/index.phpCode:$rootdir="./";
usw.Code:$rootdir="../";
in deiner header.php schreibst du dann statt
...voilà...Code:include($rootdir."includes/language.php");
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:
(oder so...Code:<img src="<?php echo $rootdir ?>img/logo.png" width="100" height="44" alt="Logo"/>
)
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!
- 06.11.2005, 15:45 #8TheRealDarklordInaktiv
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
- 06.11.2005, 19:44 #9Linsenhofener Sämling
- 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
- 06.11.2005, 20:22 #10TheRealDarklordInaktiv
Re: PHP - include() und kleine Tücken
Ok, das scheint interessant zu klingen.
Kannst du mir das mal bitte anhand meines Problems erläutern?
Ähnliche Themen
-
ImageMagick: Aber wo?
Von Macholino im Forum Grafikbearbeitung & LayoutAntworten: 10Letzter Beitrag: 25.09.2005, 16:39


Zitieren


