PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien inluden



phoku
11-01-2006, 21:41
Hallo,

ich habe ein Skript, das sowohl über den Apache als auch direkt über die Command-Line ausgeführt werden soll. Das Problem: Ich brauche bei beiden Varianten den Pfad zu den einzubindenden Dateien, am besten absolut.
Wie komme ich da dran? Stehen die irgendwo in irgendwelchen Umgebungsvariablen?

mfg
phoku

Turbohummel
12-01-2006, 17:22
Also ich würde Pfade immer relativ zum Ausgangsverzeichnis angeben.

tomes
12-01-2006, 19:17
Entweder set_include_path http://de2.php.net/manual/de/function.set-include-path.php
oder in deiner php.ini include_path
http://de2.php.net/manual/de/ini.sect.path-directory.php#ini.include-path

tomes

inge
13-01-2006, 12:36
mit


phpinfo()

zeigt es dir unter anderem den absoluten pfad...;)

phoku
13-01-2006, 18:05
okay, alles schön und gut! das problem ist nur, wenn ich die skripte direkt von der command line mit dem php interpreter aufrufe (und nicht über einen webserver), dann beziehen sich die relativen pfade alle auf das verzeichnis, in dem man gerade ist.

nEox
13-01-2006, 19:24
okay, alles schön und gut! das problem ist nur, wenn ich die skripte direkt von der command line mit dem php interpreter aufrufe (und nicht über einen webserver), dann beziehen sich die relativen pfade alle auf das verzeichnis, in dem man gerade ist.

Wenn du die Datei über den Webserver ausführst ist der relative Pfad doch auch von dem aktuellen Verzeichnis aus (ist ja auch logisch).

Oder bindest du die Datei über ein anderes Script ein?

Vielleicht hilft dir das:


// gibt das Verzeichnis aus in dem die Datei liegt
print dirname(__FILE__);
// geht vom aktuellen Verzeichnis aus eine Ebene höher
print realpath(dirname(__FILE__) . "/../");


Viele Grüße,
nEox

inge
02-02-2006, 17:01
okay, alles schön und gut! das problem ist nur, wenn ich die skripte direkt von der command line mit dem php interpreter aufrufe (und nicht über einen webserver), dann beziehen sich die relativen pfade alle auf das verzeichnis, in dem man gerade ist.


du musst aufpassen, dass du das / nicht vergisst:


$pfad="pfad/zur/datei";
$pfad="./pfad/zur/datei"; //diese beiden varianten dürften nicht funktionieren

$pfad="/pfad/zur/datei"; //beim relativen pfad immer ein / davor