include do include souboru

Chtel jsem se zeptat jestli muzu includovat v jiz includovanym souboru.

Na loakle mi to slape, ale tady to hlasi:

Warning: access to /usr/local/lib/php/kon_hk.php from /3w/wz.cz/f/futurlab denied in /3w/wz.cz/f/futurlab/rh/uprav/kon.php on line 59

Warning: open_basedir restriction in effect. in /3w/wz.cz/f/futurlab/rh/uprav/kon.php on line 59

Warning: Failed opening 'kon_hk.php' for inclusion (include_path='.:/usr/local/lib/php') in /3w/wz.cz/f/futurlab/rh/uprav/kon.php on line 59

Please help me.

Dik Mario
samozrejme ze to jde, nemas tam nejak blbe ty cesty?
Asi jo.
Záleží na tom, kde máš soubory.

Vzor: Hlavní str. - 1.include - 2.include

1.include je závislí na Hlavní a 2.include je taktéž závislý na Hlavním, i když jde přes 1.include.

Snad si to pochopil. Nemám čas to nějak rozebírat.

Tomík.
Já nevidim problém... to bude spíš v případu...
pokud to spravne chapu, tak se pokousis do php souboru na webu includovat php soubor z lokalniho disku... to se ti opravdu nepovede. zrejme je problem v include_path='.:/usr/local/lib/php', kterou sice muzes pouzivat doma, ale na webu bys si mel upravit (nebo smazat).
s include_path to nema nic spolecnyho, tu cestu vypise sam (samozrejme ze z lokalniho disku, odkad by to jinak bral?:)
spis bude problem v tom co pise Tomik-kdyz mas napr. na rootu soubor index.php kterej vypasa asi takle:
--
include "lib/a.inc";
..
--
a adresar lib, ve kterym mas soubor a.inc a b.inc tak v tom souboru a.inc musi byt:
include "lib/b.inc" //a ne jen "b.inc" coz by mozna bylo prirozenejsi

klar?:)
to bohdan: mas recht... bude to ten pripad... uz jsem se s tim chovanim setkal a je potreba si na to dat pozor a pri vnorenem inkludu pouzivat absolutni cestu vzhledem k rootu
>pouzivat absolutni cestu vzhledem k rootu
je to trochu slovickareni, ale asi si chtel napsat relativni cestu vzhledem k rootu, nicht wahr?:)
2 bohdan: samozrejme... muj strazny andel... ale je potreba se vyjadrovat presne :o) takze bud pouzivat absolutni cestu nebo relativni vzhledem k rootu :o)

ja osobne to resim tak, ze mam v kazdem php souboru, do ktereho se neco inkluduje, definovanou promennou $root, ktera odkazuje na root meho webu. a tuhle promennou pak pouzivam v inkludovanych souborech, do kterych se pripadne inkluduji dalsi.

priklad:

index.php

$root = './'; // cesta k rootu webu
include($root . 'inc/a.php');
...

test/index.php

$root = '../'; // cesta k rootu webu
include($root . 'inc/a.php');
...

inc/a.php

include($root . 'inc/test/b.php');


tim je zajisteno, ze se soubor "b.php" inkluduje spravne do souboru "a.php" a potazmo do"index.php" a take do "test/index.php". lepsi reseni me nenapada a krom toho je to nezavisle na absolutni ceste k rootu webu.
no..proc ne :)
(ja osobne tam pokazdy davam relativni adresu a zatim jsem s tim nemel problemy),
dalsi moznost - pokud mas treba na rootu soubor common.php kterej muze byt inkludevanej do ruznych souboru v roznych adresarich, a v tom common.php mas zase nekolik inkludu napr. na inc/xxx.php tak muzes zistit cestu k tomu hlavnimu souboru napr. pomoci $PHP_SELF a z toho pak urcit na jaky je to urovni od rootu:)
no..moznosti je fakt plno
2 bohdan: ja uz jsem problemy s tou relativni cestou mel - vztahovala se k hlavnimu souboru - takze jsem ji prestal pouzivat.

nicmene o promenne $PHP_SELF jsem nevedel - porad se ucime, ze... a jak vidim, tak se da velmi dobre vyuzit :o) misto abych v kazdem hlavnim souboru definoval relativni cestu k rootu, tak si ji pouze spocitam... staci urcit uroven vnoreni. neco jako

$root = './' . str_repeat('../', substr_count($PHP_SELF, '/') - 1);

(tim uvodnim './' si nejsem jisty, mozna by to fungovalo i bez nej)

dik za tip :o)