mefistofeles
24.12.2010, 14:05:30
Witam,
Mam szablon strony.
W pliku top.php mam taki kod:
include "./date/data.php";
Na stronie głównej (katalog najwyższego poziomu z index.php) wszystko jest ok, i plika data.php się includuje,
natomiast na podstronach które są w podkatalogu (includują też plik top.php) data.php nie zostaje includowane.
Problem znika kiedy dodam drugą kropkę czyli:
include "../date/data.php";
W tym momencie na podstronach wszystko ładnie śmiga, ale znowuż na stronie głównej pliki się nie dołącza.
Jak zmienić ten kod żeby plik data.php był ładowany niezależnie czy mamy stronę główną czy podstrony ?
Przychodzi mi do głowy tylko zrobienie osobnego szablonu dla głównej i podstron, ale wolałbym mieć wszystko w 1 miejscu.
Chyba jest na to jakaś metoda ?
krzysztof_kf
24.12.2010, 14:15:30
spróbuj tak
include "date/data.php";
mefistofeles
24.12.2010, 14:34:43
Ta wersja działa tylko dla strony głównej.
Podstrony są w podkatalogu więc musi być jakieś odwołanie do wyżej osadzonego pliku w stylu ../
Niestety wtedy nie działa strona główna :/
CuteOne
24.12.2010, 15:14:51
Użyj ścieżki bezwzględnej

w index.php wstaw:
include ROOT_PATH.'/date/data.php';
w pozostałych plikach używaj:
include ROOT_PATH.'/date/data.php';
mefistofeles
24.12.2010, 16:07:19
Zrobiłem tak jak radziłeś.
Na stronie głównej jest ok, ale na podstronach nie:
Warning: include(ROOT_PATH/date/data.php) [function.include]: failed to open stream: No such file or directory in /home/www...
Skoro na głównej zdefiniowaliśmy ten 'roth path' to na podstronach też chyba by było trzeba skoro się do tego odwołujemy ?
daros17
24.12.2010, 16:51:36
spróbuj tak
include $_SERVER['DOCUMENT_ROOT'].'/date/data.php';
CuteOne
25.12.2010, 00:33:32
trzeba było mówić że nie includujesz plików przez index.... no nic dobrze, że działa ;]