Supportnet Computer
Planet of Tech

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ß.

Antwort 2 von mfg

Das geht leider nicht, da in der global.php folgender Befehl vermerkt ist:
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