За последние 24 часа нас посетили 50704 программиста и 1418 роботов. Сейчас ищут 1332 программиста ...

Насильное прописывание путей к стилям

Тема в разделе "PHP для новичков", создана пользователем Freakmeister, 4 июн 2011.

  1. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Наверняка нубский вопрос, но я сломал себе мозг этим.
    Есть сайт примерно с таким деревом:
    http://localhost/NewPortal2/
    http://localhost/NewPortal2/portal
    http://localhost/NewPortal2/forum
    http://localhost/NewPortal2/forum/adm

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

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    мде..

    src="/portal/file.js"
    src="/portal/file.css"
     
  3. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
  4. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    какой нах функции? "/" - это корень сайта. в любом файле любой вложенности начинай путь с "/" , затем папка, где лежат файлы (например, "/files/javascript.js").
     
  5. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Омг... Спасибо, прокатило.)