относительный путь

Тема в разделе "PHP", создана пользователем avgaz, 7 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Суть вопроса такова есть cms в ней относительный путь для всех файлов задается переменой к примеру для страниц из корня сайта $dir = "./"; если подключаемый модуль находится например doc/mods/ххх то путь прописывать нужно $dir = "../../../";
    все как бы не чего но тут столкнулся с проблемой нужно что бы переменая $dir определялась автоматически из глобальны $_SERVER не чего подходящего не получилось.

     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117
  3. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Вы меня немножко не поняли мне ненужен полный путь T:\home\virtual\prime к примеру в этом случае не отоброжаются рисунки и не грузятся css шаблона и будут иметь путь
    T:\home\virtual\prime/portal/templates/portal/images/logo.png

    Делаю ЧПУ и если он имеет вид http://prime-news-view-1.html то все ок, а если http://prime/news/view/1.html то все стили рисунки не грузятся
     
  4. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    кол-во '../' от скрипта в subfolder до основной директории домена
    PHP:
    str_replace('/','../',preg_replace('/[^\/]/','',dirname($_SERVER['PHP_SELF'])));
     
  5. SiZE

    SiZE Постоялец

    Регистр.:
    31 янв 2010
    Сообщения:
    51
    Симпатии:
    10
    realpath() ?
     
  6. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117
    ЧПУ видать через mod_rewrite делаете ...
    добавьте следю. правила до преобразования путей
    PHP:
      RewriteCond %{REQUEST_FILENAME} !-#применять RewriteRule, только если запрашиваемое имя файла не совпадает с именем какого-нибудь реального файла на сервере
      
    RewriteCond %{REQUEST_FILENAME} !-#и не совпадает с именем какой-нибудь реальной директории
    таким образом URL страниц будет преобразовываться по правилам ЧПУ а изображения, JS и CSS файлы будут грузиться по обычным путям
     
  7. EnGeLs

    EnGeLs Постоялец

    Регистр.:
    30 апр 2008
    Сообщения:
    87
    Симпатии:
    21
    PHP:

    $dir
    ="";
    $uri=$_SERVER["REQUEST_URI"];//берем весь путь
    $uriS=explode("/",$uri);//парсим путь
    $count=count($uriS);//определяем уровень вложенности
    if($count>1){//если не корень сайто то
          
    for($i=2;$i<=$count;$i++){
                             
    $dir.="../";//добавляем нужно кол-во
          
    }
    }
    else{
    $dir="./";}

    print 
    $dir;// выводим результат

     
  8. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    для картинок, css, js и т. п. путь можно указывать начиная с / тогда путь всегда будет от домена:
    /images/image.jpg
    /module/images/image.jpg
    значит загрузится
    сайт.цом/images/image.jpg
    сайт.цом/module/images/image.jpg
     
Статус темы:
Закрыта.