Witam,
w pliku config zdefiniowałem ścieżki:
// Sciezka glowna
define('DOCROOT', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);
// Sciezka
define('PATHROOT', './');
i wszystko było by ok gdyby tak DOCROOT chciał działać w każdym przypadku,
w każdym przypadku działa PATHROOT, ale zależnie od strony / podstrony,
w którym jest katalogu potrzebne jest ./, ../ , ../../ etc. - jakieś rozpoznanie.
Przykładowo strona znajduje się w katalogu:
- localhost/moja-strona.pl/ plik index.php - tutaj potrzebne jest $path = './';
kolejna podstrona tej strony znajduje się w katalogu:
- localhost/moja-strona.pl/podstrony/ plik polska.php - tutaj potrzebne jest $path = '../';
itd. dla katalogów wyżej ../../
Przy include bez problemu działa w każdym przypadku, np.
include(DOCROOT."includes/menu.php");
ale kiedy w kodzie strony mamy echo, np.
<link rel="stylesheet" type="text/css" href="<?php echo PATHROOT.'css/style.css'; ?>">
albo zwykły odnośnik <a href="<?php echo PATHROOT.'index.html'; ?>">Strona główna</a>
potrzebne jest już rozpoznanie czy ma być PATH = ./ czy ../
wymagany jest PATH inny dla strony /index.php i inny dla strony w katalogu /podstrony/polska.php
Może jest jakaś funkcja? W jaki sposób rozwiązać problem?