PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Verzeichniswechsel (..)


christarth
05.05.2002, 01:51:34
Hallo
ich rufe eine datei auf:
include ('../test/test.php');

und dabei kommt folgende Fehlermeldung:

Warning: open_basedir restriction in effect. File is in wrong directory in /raid/domains/de/v/vbasic-cafe/htdocs/www/test2/sichern.php on line 4

Warning: Failed opening '../test/test.php' for inclusion (include_path='') in /raid/domains/de/v/vbasic-cafe/htdocs/www/test2/sichern.php on line 4

aber der Pfad past!!

ich währe über Hilfe seh dankbar

Gruß christarth

|Coding
05.05.2002, 02:05:34
hi,

du musst den relativen pfad angeben, d.h. den pfad, eingeschlossen vom hauptordner deiner presents bis zur datei. dann sollte es klappen.

bsp:
/test/test.php

poste wenn's nicht geht...

christarth
05.05.2002, 02:20:13
Hallo
klapt leider auch nicht
selbe Fehlermeldung.

Gibt es noch eine andere Möglichkeit einen Ordner zurück zu gehen??

Gruß christarth

christarth
05.05.2002, 02:36:01
endlich habe ich EINE Fehlermeldung weg!!
Bleibt nur noch diese:

Warning: Failed opening test2/test.php' for inclusion (include_path='') in /raid/domains/de/v/vbasic-cafe/htdocs/www/test/test.php on line 4

ich habs so gemacht:

include("test2/test.php");

Gruß christarth

|Coding
05.05.2002, 02:42:47
hi,

hast du es so schon probiert, so meinte ich das.

include '/test/test.php';

christarth
05.05.2002, 02:53:31
Ja hab ich schon
kann man auch den ganzen Pfad angeben also so:

http://www.lalala.org/test/test2.php ??

|Coding
05.05.2002, 03:01:25
ich denke mal schon, aber normalerweise reicht der relative pfad. aber nun gut versuchen kannst du es ja.

christarth
05.05.2002, 03:06:18
Also mit dem Absoluten Pfad ging gar nichts :=(

Ist es eigentlich ein Problem wenn ich eine Datei Include in der nochmal eine Datei in einem anderen Pfad includet wird??

|Coding
05.05.2002, 03:10:04
also eigendlich kannst du so viele includes machen wie deine nase lang ist :-) das sollte kein problem sein.

|Coding
05.05.2002, 03:20:13
also es muss gehen, wenn du alle verzeichnisse deiner presents mit einbrings.

sagen wir mal du hast die datei "sülz_sülz.php" im dritten unterverzeichnis, also "ordner1/ordner2/noch_einer/", wenn du diese dann includieren willst dann musst du das include so schreiben:

<? include 'ordner1/ordner2/noch_einer/sülz_sülz.php'; ?>


das geht... das muss gehen...

christarth
05.05.2002, 06:51:04
und wie muss ich den Pfad angeben wenn ich die Datei (in dem sich das include Befindet) in einem 5. Unterverzeichnis befindet:
"ordner1/ordner2/noch_einer/ordner4/ordner5/"

und die Datei die ich includen will im dritten ist??
"ordner1/ordner2/noch_einer/"

Gruß christarth

Matthias
05.05.2002, 13:15:56
Liegt die 2te Datei im selben Ordner??
Dann las mal die Verzeichnisse weg und schreib direkt include("datei.php");

|Coding
05.05.2002, 13:50:42
Original geschrieben von christarth
und wie muss ich den Pfad angeben wenn ich die Datei (in dem sich das include Befindet) in einem 5. Unterverzeichnis befindet:
"ordner1/ordner2/noch_einer/ordner4/ordner5/"

und die Datei die ich includen will im dritten ist??
"ordner1/ordner2/noch_einer/"

Gruß christarth

genau wenn sie im fünften unterverzeichnis ist:
include 'ordner1/ordner2/noch_einer/ordner4/ordner5/datei.php';

und wenn sie im dritten ist:
include 'ordner1/ordner2/noch_einer/datei.php';

das sollte meines erachtens funktionieren.

Coda
05.05.2002, 13:56:56
hmm es gibt ja auch "../../ordner" nicht nur "../"

|Coding
05.05.2002, 14:20:19
Original geschrieben von Coda
hmm es gibt ja auch "../../ordner" nicht nur "../"

das hat bei mir noch nie funktioniert. ich musste immer vom aller ersten ordner bis zum letzten den pfad, mit datei, angeben damit mein include funktioniert.


bsp:

ich habe in "ordner/ordner2/" die datei "test.php" und möchte diese in die index.php, die in diesem pfad liegt "ordner/ordner2/ordner3/ordner4/", includieren.

dann muss das include in der index.php so aussehen:
include 'ordner/ordner2/test.php';

oder liege ich da falsch?

ingo
05.05.2002, 15:02:41
da liegst du falsch.

angenommen du includierst in der datei datei.php, die im root directory liegt, die datei include.php, die im verzeichnis /ordner1/ordner2/ordner3/ liegt, dann machst du das entweder mit:

include("/ordner1/ordner2/ordner3/include.php");

oder mit

include("ordner1/ordner2/ordner3/include.php");

willst du von der include.php die datei datei.php includieren dann machst du das entweder mit:

include("/datei.php");

oder mit

include("../../../datei.php");

nehmen wir an du hast eine weitere datei index.php, die die datei include.php includiert, die auf die datei datei.php zurückgreift, dann schaut das ganze so aus:

in der index.php

include("ordner1/ordner2/ordner3/include.php");

in der include.php aber

include("datei.php");

weil - obwohl die datei datei.php 3 ordner unter include.php liegt - sie vom root directory aus durch die include.php includiert wird, nämlich durch index.php (die ja im root dir liegt).

ich darf mich verstanden fühlen?

lg, ingo

|Coding
05.05.2002, 15:14:41
@ ingo,

ja du darfst. aber eigendlich wollte ich nicht mehr sagen wie du mit deinem post :-) ich hab mich wohl falsch ausgedrückt...

nur das mit "../../../" uws. wuste ich noch nicht, aber jetzt weiß ich es ja.

bei all dem übel, hat überhaupt der eröffner diese threads, die hilfe bekommen die er braucht bzw. wurden deine fragen beantwortet, christarth?

Nev
05.05.2002, 15:38:03
Hi @ll

Wenn ich das richtig verstehe, hat er insgesamt 3 dateien.
die erste includiert die 2te und diese includiert die 3te.

Wenn du eine Datei includierst, gilt die Pfadangaben von der 1sten

und wenn du nun noch eine Datei includierst von der schon includierten Datei, mußt du vom Pfad der 1ten Datei ausgehn.

Das beste ist das man den absolutenPfad zur Datei im Include eingibt.

Damit greift er immer auf den richtigen Ordner zu

Coda
05.05.2002, 17:44:52
dazu sei gesagt das "." in Unix und Windows immer der aktuelle Ordner und ".." immer der untergeordnete ist. Diese kann man ganz normal verwenden

EinBit
15.08.2008, 11:36:47
Hallo!
Ich habe eine erweiterte Problemstellung, die ich irgendwie nicht lösen kann.
In dem Ordner /neu/ befindet sich die Datei navi.php, in der per css Dateien im Ordner /neu/images aufgerufen werden. Das funktioniert.
Wenn ich nun die datei navi.php aus dem verzeichnis /neu/foto includieren möchte (include("../navigation.inc.php");" so habe ich das Problem, dass die Dateien aus dem Verzeichnis /neu/images nicht mehr geladen werden.

Kennt jemand so ein Problem, bzw. eine Lösug dafür? Vielen Dank im voraus!
Das Bit.

cortex
15.08.2008, 13:48:01
zwischenfrage...

sollte man sich nicht ein paar gedanken über die projektstruktur machen, wenn man auf derart verschachtelte includes zurückgreifen muss...?

cx

cortex
15.08.2008, 13:51:29
Ich habe eine erweiterte Problemstellung, die ich irgendwie nicht lösen kann [...]

das ist kein erweitertes problem, sondern ungefähr dasselbe ;-

ich würde pfadangaben immer vom webroot ausgehend referenzieren; das klappt immer. siehe auch:

http://de.selfhtml.org/html/allgemein/referenzieren.htm#absolut

cx

EinBit
15.08.2008, 13:52:49
Das ist eigentlich eine gute Struktur. In dem /neu2/navi.php ist die Menüstruktur, die ich in jeder .php includieren möchte.
ABER: Warum kann ich von einem Verzeichnis aus die navi.php includieren, aber die entaltenden url("images/xyz.gif") funktionieren nicht mehr?

cortex
16.08.2008, 13:22:07
[...] die entaltenden url("images/xyz.gif") funktionieren nicht mehr?

wie ich bereits sagte: vom root aus referenzieren; wenn die struktur bspw. so aussieht:

domain.de/images/xyz.gif

bedeutet absolute referenzierung relativ zum root:

url( "/images/xyz.gif" )

cx