mam v zakladnim adresari soubory:
a.php
b.php
V a.php mam include na b.php.
V podadresari X mam soubor index.php, ktery ma include ../a.php. Cekal jsem, ze se includne i b.php (skrz a.php) ale pokud b.php neham do adresare X, pise to
"Warning: access to /usr/local/lib/php/b.php from /3w/kvalitne.cz/k/knihkupectvi denied in /3w/kvalitne.cz/k/knihkupectvi/a.php on line 2
Warning: main() [function.main]: open_basedir restriction in effect. File(/usr/local/lib/php/b.php) is not within the allowed path. in /3w/kvalitne.cz/k/knihkupectvi/a.php on line 2
Warning: main(universal2.php) [function.main]: failed to create stream: Operation not permitted in /3w/kvalitne.cz/k/knihkupectvi/a.php on line 2
Warning: Failed opening 'b.php' for inclusion (include_path='.:/usr/local/lib/php') in /3w/kvalitne.cz/k/knihkupectvi/a.php on line 2"
Jak na to? Nejlip bych ctel, aby se mi po incude universal.php includnul i b.php.
Je to tak. Když includuješ soubor, který obsahuje includy, tak i ty z něj musí mít správnou cestu vzhledem ke zpracovávánému souboru.
Možná se to zdá nesmyslné, ale nejspíš to bude mít nějaké opodstatnění. Hádám, že jde asi o to, aby se nevytratila přehlednost celého icludovacího systému.
Celé se to můžeš pokusit vyřešit nějakým systémem proměnných obsahujících ruzné relativní cesty... Zkus něco vymyslet.
vse vyreseno pouzitim
include_once (dirname(__FILE__) . '/b.php');