Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
include problem bei verzeichnis [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
include problem bei verzeichnis


 
Abraxas
02-01-2004, 15:23 
 
Habe da ein merkwürdiges Problem,

Habe eine Datei die die Sessions prüft und bei erfolg auch eine weitere datei mit allen wichtignen functionen aufruft.
wenn ich alles in einem verzeichnis habe geht das auch wunderbar include ich jetzt jedoch die abfragedatei aus einem weiterem unterverzeichnis bekommt diese nicht mehr die daten aus der functionsdatei.

bekomme dann immer gemeldet das die jeweilige anweisung unbekannt sei.

 
derHund
02-01-2004, 15:25 
 
hmm,

wie lautet die genaue fehlermeldung, verzeichnisstruktur, code?

 
hOk
02-01-2004, 15:54 
 
Hi Abraxas,
wahrscheinlich funktioniert deine include-Anweisung
nicht, da du wahrscheinlich einen relativen Pfad verwendest.
Die relativen Pfade werden immer im Kontext des
gestarteten PHPs aufgelöst.
Zwei Lösungen fallen mir dazu ein.
Entweder könntest du in der include-Anweisung einen
absoluten Pfad verwenden z.B.:
include dirname(__FILE__) ."/inc.functions.php";
oder
du setzt den include-path auf das Verzeichniss mit
deinen include-Dateien:
if (substr(PHP_OS, 0, 3) == 'WIN')
set_include_path('.;'. dirname(__FILE__));
else
set_include_path('.:'. dirname(__FILE__));

netten Gruß, Holger

 
Abraxas
07-01-2004, 15:08 
 
Thx hOk

Das mit dem absuluten Pfad fällt leider weg da es ein wachsendes Programm werden soll und es nachher zu Problemen kommen wird zumal es im moment noch local und später erst online laufen soll.

Die 2te Lösung klingt zwar interessant aber leider verstehe ich die ausführung nicht ganz.

Also wenn mir das mal bitte jemand genauer erklären könnte oder ein passendes Tutorial kennt.


abraxas

 
hOk
07-01-2004, 23:09 
 
Hi Abraxas,
Über den include-Path gibst du Verzeichnisse an
in denen gesucht werden soll wenn du eine Datei
includest oder requirest, auf Windows-Systemen werden
die include-Pfade mit einem Semikolon getrennt und
auf Linux-Systemen mit einem Doppelpunkt.

Gegeben sei folgende Verzeichnisstruktur:

root
|_sub1
| |_sub1_sub1
| |_file1
|_sub2
|_file2


Üblicherweise wird der include-Path auf
ein Verzeichniss gesetzt in welchem alle
wichtigen Scripte liegen, hier z.B.: root/sub1.

Wenn du jetzt aber file2 dein aktuelles Script
ist müsstest ohne include-Path wie folgt
referenzieren um file1 zu includen:
../sub1/sub1_sub1/file1
Ist der include-Path gesetzt kannst du mit:
sub1_sub1/file1
referenzieren.

Wichtig ist nur das der include-Path gesetzt
wird, dies kannst du in einer zentralen
Konfigurations-Datei vornehmen.

netten Gruß, Holger

 
exige
27-03-2004, 09:17 
 
irgendwie versteh ich dass noch nicht so ganz :rolleyes: :rolleyes:

meine index, liegt im
www.ofp-2.com/offline verzeichnis
die datei, die includet werden soll liegt in
www.ofp-2.com/offline/news/ und heißt newsindex.php
wie include ich die datei denn nu ?


thx für antwort

 
TobiaZ
27-03-2004, 12:21 
 
schade dass ich den thread anfangs nicht gesehen habe. aber das was abraxas schreibt ist natürlich so nicht richtig!

@exige: include einfach so, wie hoc rs in der ersten version empfohlen hat.

 
meikel
27-03-2004, 13:57 
 
Original geschrieben von exige
meine index, liegt im
www.ofp-2.com/offline verzeichnis
die datei, die includet werden soll liegt in
www.ofp-2.com/offline/news/ und heißt newsindex.php
wie include ich die datei denn nu ?
Na so wie sonst auch:
include $_SERVER['DOCUMENT_ROOT'] . '/offline/news/newsindex.php';

 
TobiaZ
27-03-2004, 14:41 
 
besser über __FILE__ aber das hast du ja in dem anderen Thread schon gelesen.

 
exige
27-03-2004, 19:40 
 
ich weiß ich bin dumm
aber wo muss ich denn nu was bei meinem beispiel hier einsetzen ??

if (substr(PHP_OS, 0, 3) == 'WIN')
set_include_path('.;'. dirname(__FILE__));
else
set_include_path('.:'. dirname(__FILE__));

 
TobiaZ
27-03-2004, 20:07 
 
das das umsetzen des include_path. das ist schmarn!

 
exige
27-03-2004, 20:20 
 
lol
und was ist kein schmarn ??

 
IchBinIch
27-03-2004, 20:28 
 
wieso kein ganz normales

include(dirname(__FILE__)."datei.php");

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:43 Uhr.