relativer Überordner
SSV
- php
0 Mathias Brodala0 SSV1 Mathias Brodala0 SSV0 Mathias Brodala0 SSV
0 Johannes Zeller
Servus!
Ich suche momentan an einer Lösung zum includen einer PHP-Datei. Meine Ordnerstruktur sieht folgendermaßen aus:
html
includes
menue.php
data
intern
index.php
Wenn ich jetzt in die index.php meine menue.php includen will benötige ich einen Code. Bisher habe ich dies immer mit absoluten Adressen gelöst, doch nun - nachdem ich meine Seite relaunche - möchte ich dies mit der relativen Lösung probieren. Wenn ich ein Bild einfügen möchte, habe ich dies mit dem folgenden Code gelöst:
<a href><img src="../../../images/back.gif">Bild</a>
Somit habe ich mir gedacht, dass dies auch so als Include-Befehl möglich ist:
<?php @include("../../../includes/menue.php");?>
Doch leider funktioniert das nicht. Worin besteht mein Fehler?
Vielen Dank für eure Hilfe!
Grüße
Christian
Hallo SSV.
Ich suche momentan an einer Lösung zum includen einer PHP-Datei. Meine Ordnerstruktur sieht folgendermaßen aus:
html
includes
menue.php
data
intern
index.php[…]
Somit habe ich mir gedacht, dass dies auch so als Include-Befehl möglich ist:
<?php @include("../../../includes/menue.php");?>
Doch leider funktioniert das nicht. Worin besteht mein Fehler?
Du unterdrückst die Fehlermeldungen. Entferne das „@“ vor dem include-Kommando und füge zusätzlich noch ein error_reporting(E_ALL); am Anfang deines Scriptes hinzu.
Einen schönen Dienstag noch.
Gruß, Mathias
Servus Mathias!
Danke für deine Antwort. Leider fuktioniert der Include noch immer nicht - dafür werde ich jetzt mit Fehlermeldungen zugemüllt:
Warning: Unknown(): open_basedir restriction in effect. File(../../../includes/menue.php) is not within the allowed path(s): (/home/www/web494/html/:/home/www/web494/phptmp/:/home/www/web494/files/:/home/www/web494/atd/) in /home/www/web494/html/Galerien/includes/template.php(101) : eval()'d code on line 2
Vielen Dank für deine Hilfestellung.
Grüße
Christian
Hallo SSV.
Danke für deine Antwort. Leider fuktioniert der Include noch immer nicht - dafür werde ich jetzt mit Fehlermeldungen zugemüllt:
Warning: Unknown(): open_basedir restriction in effect. File(../../../includes/menue.php) is not within the allowed path(s): (/home/www/web494/html/:/home/www/web494/phptmp/:/home/www/web494/files/:/home/www/web494/atd/) in /home/www/web494/html/Galerien/includes/template.php(101) : eval()'d code on line 2
Zusätzlich ist also PHPs SafeMode aktiv. Die Fehlermeldung zeigt dir nun, dass du auf eine Verzeichnisebene zuzugreifen versuchst, auf die du laut open_basedir keinen Zugriff haben darfst.
Tatsächlich gehst du ja auch ein Verzeichnis zu weit nach oben. Deine Verzeichnisstruktur noch einmal:
html
|-- data
| -- intern |
-- index.php
-- includes
-- menue.php
Und dein include-Kommando in der index.php:
<?php
error_reporting(E_ALL);
include("../../../includes/menue.php");
# 1 2 3
?>
Führt zu:
1 → data
2 → html
3 → ?
Einen schönen Dienstag noch.
Gruß, Mathias
Mmmh, stimmt. Ich habs auch gleich abgeändert - allerdings kommt die gleiche Fehlermeldung wieder...
Ich sehe das Problem nicht.
Liebe Grüße
Christian
Hallo SSV.
Mmmh, stimmt. Ich habs auch gleich abgeändert - allerdings kommt die gleiche Fehlermeldung wieder...
Die gleiche oder dieselbe? Falls ersteres, dann poste diese bitte.
Ich sehe das Problem nicht.
Sollte das Problem direkt mit dem SafeMode zusammenhängen, kann dir jemand anders sicher besser weiterhelfen, da ich mich damit bisher kaum befasst habe.
Einen schönen Dienstag noch.
Gruß, Mathias
Danke für deine Hilfe!
Ich habe das Problem gelöst: Es bestand darin, dass die index.php ebenfalls included worden ist - ja und die Stammdatei lag wieder in einem anderen Ordner. Das war alles. Manchmal liegt das einfache so nah, dass man es nicht erkennt. Danke nochmals.
Schöne Feiertag noch.
Liebe Grüße
Christian
Hallo Mathias,
Zusätzlich ist also PHPs SafeMode aktiv.
Das ist ein nicht-zulässiger Schluss ;-) open_basedir gehört zwar konzeptionell zum Beereich Safe Mode, aber es macht bei der Verwendung von open_basedir keinen Unterschied, ob der Safe Mode aktiviert ist oder nicht.
Schöne Grüße,
Johannes