Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Zugriff auf Php Datei in anderem Verzeichnis mittels require/include
Frage
Hi,
Ich möchte eine eigene Php-Datei erstellen, die überprüft, ob ein User in meinem Forum eingeloggt ist.
Wenn die Php-Datei im gleichen Verzeichnis ist wie die global.php, in der defin iert ist, wer eingeloggt ist, läuft alles wunderbar, wenn die aber in nem andern Verzeichnis ist, dann klappts nicht!
[b]Verzeichnis /home/public/www.test.de/ :[/b]
index.htm
[b]Verzeichnis /home/public/www.test.de/forum/ :[/b]
global.php
_functions.php (wird von global.php includet)
test.php
Wenn in der test.php
[code]require 'global.php';[/code]
steht und ich dann
[code]echo $use_id; // $user_id wurde in global.php definiert[/code]
mache, klappt alles (die richtige user id wird ausgegeben).
Sobald aber test.php nicht mehr in "/forum" ist, ich deswegen also vor dem "require" den Befehl
[code]chdir 'forum/';[/code]
benutze, kommt zwar kein Fehler (die global.php wird korrekt eingebunden), die user id ist aber immer 0, wird also nicht mehr richtig wiedergegeben.
Wie kann ich die test.php also trotzdem in einem anderen Verzeichnis haben?
Antwort 1 von MixMax
verwende nicht den chdir-befehl, das ist ein höchst ungewöhnliches konstrukt.
benutze einfach
include("../abc.php");
oder
include("subdir/xyz.php");
oder aus einem sub in ein sub
include("../anderessubdir/xyz.php");
und den / anstelle des \ da der \ bei php mit einem weiteren \ (also \\) maskiert werden muß.
benutze einfach
include("../abc.php");
oder
include("subdir/xyz.php");
oder aus einem sub in ein sub
include("../anderessubdir/xyz.php");
und den / anstelle des \ da der \ bei php mit einem weiteren \ (also \\) maskiert werden muß.
Antwort 2 von mfg
Das geht leider nicht, da in der global.php folgender Befehl vermerkt ist:
Wenn ich global.php mit
einbinde, kann global.php die Datei '_functions.php' nicht mehr einbinden.
require '_functions.php'; // befindet sich im gleichen Verzeichnis wie 'global.php'
Wenn ich global.php mit
require './forum/global.php'; // funktioniert nicht.
einbinde, kann global.php die Datei '_functions.php' nicht mehr einbinden.
Antwort 3 von semi
Verwende überall Pfadangaben relativ zum Root-Verzeichnis, dann sollte es funktionieren.
z.B.
/modul_a/funktionen.php
/modul_b/funktionen.php
/global.php
Gruß,
Michael
z.B.
/modul_a/funktionen.php
/modul_b/funktionen.php
/global.php
Gruß,
Michael