index.php:
<?php include('./includes.php'); Head(); Top(); Left(); $page=''; $page=$_GET['page']; switch($page){ case 'gallery': include('gallery.php'); break; //itd... default: include('main.php'); } Bottom(); ?>
Oczywiście to nie jest gotowy kod, ale tak na szybkiego teraz napisałem

includes.php będzie oczywiście includowało wszystkie pliki z funkcjami. No i mam przykładowo jakiś plik funcLayout.php gdzie trzymam te wszystkie funkcje Left(), Bottom() itd. W pliku tym korzystam z różnych ścieżek, np. przy wstawianiu loga: <img src="images/logo.png" />. I teraz problem polega na tym, że takie coś będzie działać jedynie w plikach z katalogu głównego, a w innych (np. /admin/) już nie. Jaki jest najbardziej elegancki sposób na rozwiązanie tego problemu?
Można by zastosować ścieżki bezwzględne, ale nie działają u mnie tak jak trzeba: zamiast include('./includes.php'); daje include('http://jakasstrona.com/projekt/includes.php'); i wywala błąd: Unknown function: head().
Próbowałem nawet coś takiego ze w pliku includes.php:
<?php function MainPath() { $strMainPath = ''; if (count($arrPath)==2) // ==2 bo u mnie jest tak, że <a href="http://serwer.com/projekt/" target="_blank">http://serwer.com/projekt/</a> $strMainPath = './'; else { for($i=2; $i<count($arrPath); $i++) { $strMainPath .= '../'; } } return $strMainPath; } $strMainPath = MainPath(); ?>
I potem robie przykładowo: <img src="<?php echo $strMainPath; ?>jakisplik.jpg" /> - działa, no ale to raczej nie jest najlepszy pomysł.
Mam nadzieje, że zrozumieliście w ogóle o co chodzi
