include Problem

greenslot

Mitglied
Hallo zusammen,

ich habe in einer PHP Datei einen "Root-Path" definiert:
PHP:
define('ROOT_PATH', '../');
Dann binde ich z.B. die mysql_connect Datei so ein
PHP:
include ROOT_PATH . 'includes/mysql_connect.php';

Im Header-Bereich gibt es noch:
HTML:
<link href="<?php echo ROOT_PATH; ?>css/style.css" ... />

Das klappt soweit alles wunderbar, wenn ich mich in diesem Verzeichnis befinde:
-> domain.com/ver/datei.php

Wenn ich ein Verzeichnis tiefer gehe
-> domain.com/ver/ver/datei.php
und den "Root-Path" wie folgt ändere:
PHP:
define('ROOT_PATH', '../../');

wird die mysql_connect Datei nicht mehr gefunden und folgender Fehlder ausgegeben:
Warning: include(../../includes/mysql_connect.php) [function.include]: failed to open stream: No such file or directory in D:\xampp\htdocs\gebastel\fam\year.php on line 7

Die CSS-Datei wird korrekt eingebunden, aber wieso werden die PHP Dateien nicht mehr gefunden?


Vielen Dank für eure Hilfe!!
 
Ne ich meine allgmein. Ich habe es mit mittlerweile zur angwohnheit gemacht alles "vom Root aus" zu definieren. Also mit './ver/include.php'; oder './ver/ver/include.php';

Klar ist das manchmal etwas nervig aber so gibt es bei mir nie Probleme mit meinen Skripten.

'./'; bedeutet "vom Root".
 
Hast du dein include-Verzeichnis auch eine Stufe tiefer gesetzt?
Ist es nun /ver/includes/ oder ver/ver/includes?
 
Ne ich meine allgmein. Ich habe es mit mittlerweile zur angwohnheit gemacht alles "vom Root aus" zu definieren. Also mit './ver/include.php'; oder './ver/ver/include.php';

Klar ist das manchmal etwas nervig aber so gibt es bei mir nie Probleme mit meinen Skripten.

'./'; bedeutet "vom Root".
Ich ändere den Root-Path in der jeweiligen Datei.
Wenn ich hier bin domain.com/datei.php ist der Root-Path ./

Hast du dein include-Verzeichnis auch eine Stufe tiefer gesetzt?
Ist es nun /ver/includes/ oder ver/ver/includes?
Es ist immer hier domain.com/includes/....
 
Rufst du year.php direkt auf oder ist das bereits per include eingebunden?

Im Zweiten Fall nimmt er als Ausgangspunkt den Pfad des Master-Scripts.
Darum baue ich dann jeweils das folgende mit ein damit ich sicher binn, dass der Pfad auf dem Pfad der Datei startet.
PHP:
$path = dirname(__FILE__);
$rootPath = "{$path}/../../";
 
Zuletzt bearbeitet:
Zurück