Problem mit absolutem Pfad

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit absolutem Pfad

Postby php1 » 09. December 2005 22:31

Hallo,

ich versuche gerade via PHP eine datei mit dem Befehl "include()" in eine andere zu laden und verwende dabei einen absoluten Pfad: "/doc/daten.inc.php".

Ich weiß, dass die Datei an dieser Stelle existieren muss, allerdings wird die trotzdem nicht gefunden.

Gibt es da ein bekanntes Problem ?

Sven
User avatar
php1
 
Posts: 20
Joined: 10. May 2004 14:25
Location: Deutschland

Postby deepsurfer » 09. December 2005 23:02

Pfad: "/doc/daten.inc.php".

Ich weiß, dass die Datei an dieser Stelle existieren muss, allerdings wird die trotzdem nicht gefunden.


"./doc/daten.inc.php"

wie in rot... ein punkt hinsetzen.

Vielleicht nur ein Denkfehler, aber das was du da machst sind "Relative Pfade"
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby php1 » 10. December 2005 00:05

./ heißt doch meiner Meinung nach, dass ich von dem aktuellen Verzeichnis ausgehe - sehe ich das falsch ?

Ich möchte allerdings gerne von dem Wurzelverzeichnis des Server s ausgehen. Das macht der aber nicht.

Sven
User avatar
php1
 
Posts: 20
Joined: 10. May 2004 14:25
Location: Deutschland

Postby deepsurfer » 10. December 2005 02:00

./ heißt doch meiner Meinung nach, dass ich von dem aktuellen Verzeichnis ausgehe - sehe ich das falsch ?

Nein, du siehst das richtig.
Da ich nicht weiss in welchem pfad du gerade bist konnte ich ja nur diese antwort geben ;)

Ich möchte allerdings gerne von dem Wurzelverzeichnis des Server s ausgehen. Das macht der aber nicht.

zwei möglichkeiten:
relative pfadanweisung weiterhin benutzen und jeweils um den pfad hinauf gehen bis zum wurzelpfad --> ../../../../../../ (ich weiss ja nicht wie weit verschachtelst du da bist ;) )

Oder dann mittels http-request einen absoluten pfad provozieren
"domainadresse/doc/daten.inc.php"

Oder die elegante art, das du mittels einer $basedir='hier ist wurzelpfad' Variable arbeitest, sodass PHP im speicher immer weiss wo der wurzelpfad liegt.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby php1 » 10. December 2005 09:21

Oder die elegante art, das du mittels einer $basedir='hier ist wurzelpfad' Variable arbeitest, sodass PHP im speicher immer weiss wo der wurzelpfad liegt.


Wie stellt man sich das vor ?

Sven
User avatar
php1
 
Posts: 20
Joined: 10. May 2004 14:25
Location: Deutschland

Postby Wiedmann » 13. December 2005 11:35

Ich möchte allerdings gerne von dem Wurzelverzeichnis des Server s ausgehen.

Mit Wurzelverzeichnis meinst du bestimmt das DocumentRoot das im Apache definiert ist. z.B. "C:\xampp\htdocs". Und worauf du mit dem Browser über HTTp so zugreifst: "http:/localhost/"

PHP greift ab direkt über das Dateisystem auf die Dateien zu. Ein absoluter Dateipfad in einem Script geht also vom Root der Festplatte aus. z.B. "C:\"

Das DocumentRoot des Servers kannst du in einem Script über die superglobale Variable $_SERVER['DOCUMENT_ROOT'] abfragen/benutzen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby php1 » 13. December 2005 15:45

Danke Wiedmann, endlich mal eine hilfreiche Antwort ! :lol:

Sven
User avatar
php1
 
Posts: 20
Joined: 10. May 2004 14:25
Location: Deutschland


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests