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)