Наверняка нубский вопрос, но я сломал себе мозг этим. Есть сайт примерно с таким деревом: http://localhost/NewPortal2/ http://localhost/NewPortal2/portal http://localhost/NewPortal2/forum http://localhost/NewPortal2/forum/adm Страница генерируется php-функциями в папке portal и потом запрашивается из этих директорий. Например, есть функция вывода head со стилями и скриптами: PHP: <?php function show_head() { $siteurl="./"; echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>'.$site_name.'</title> <link href="'.$siteurl.'portal/templates/'.$style.'/style.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="'.$siteurl.'portal/includes/js/jquery.js"></script> <script type="text/javascript" src="'.$siteurl.'portal/templates/'.$style.'/scripts.js"></script> </head>'; } ?> Проблема в том, что когда я запрашиваю вывод head из под разных дирректорий, путь к стилям получается неправильный. Html не понимает пути типа Z:\home\localhost\www\portal, и include_path ей тоже не пропишешь, а абсолютный путь я прописывать не хочу. Так что, пытаюсь извращаться с приписьками "../" в $siteurl. Может есть способ сделать как-то проще? Посчитать количество папок относительно корня в URI, например? В общем, хочу чтобы функция автоматически проверяла сколько "../" ей приписывать к путям.
Ну так не прокатывает. Если я обращаюсь к этой функции из: http://localhost/NewPortal2/forum/index.php то надо прописывать уже так: src="/../portal/file.js" А если из: http://localhost/NewPortal2/forum/adm/index.php то так: src="/../../portal/file.js"
какой нах функции? "/" - это корень сайта. в любом файле любой вложенности начинай путь с "/" , затем папка, где лежат файлы (например, "/files/javascript.js").