Как заставить работать абсолютный путь?

galiant

Новичок
Как заставить работать абсолютный путь?

Не получается и всё тут.

Я хочу на страничке прописать к картинкам абсолютные пути.
Картинки лежат в папке PICS, которая находится в корне сайта. И нужно чтобы из какой бы директории мы не обращались к картинке, путь к ней был один и тот же, стандартный.
Хостинг на freebsd.

Я сделал следующим образом:

есть переменная $PICTURE_PATH="/home/public_html/www.site.ru/pics/"

это типа вроде как абсолютный путь. И в html я пишу так

<img src="<? echo $PICTURE_PATH."6.gif" ?>">
и это не работает. Картинки не грузятся, а когда смотришь в свойствах картинки, откуда же браузер пытаеся её взять там написано:
http://home/public_html/www.site.ru/pics/6.gif

как заставить это работать? :( А то структура дир-й на сайте многоуровневая :)) и не хочется каждый раз писать что-то типа "/../../../pics/6.gif". Подскажите пожалуйста
 

galiant

Новичок
Что значит бесподобно? Ты имеешь ввиду что это милая шутка браузера? делать-то что? :)

www.site.ru - чтобы никто не сбился - это тоже директория, наша личная на серваке типа
 

Кром

Новичок
galiant
Никто тут не сбивается. То что ты тут всем показываешь, это абсолютный путь в файловой системе сервера. А абсолютный путь твоего сайта начинается с www.site.ru
 

SergeR

Новичок
Re: Как заставить работать абсолютный путь?

Автор оригинала: galiant
Не получается и всё тут.

Я хочу на страничке прописать к картинкам абсолютные пути.
Картинки лежат в папке PICS, которая находится в корне сайта. И
Я сделал следующим образом:

есть переменная $PICTURE_PATH="/home/public_html/www.site.ru/pics/"

это типа вроде как абсолютный путь. И в html я пишу так

<img src="<? echo $PICTURE_PATH."6.gif" ?>">
и это не работает. Картинки не грузятся, а когда смотришь в
Есть 2 варианта:
1. Указывать путь к картинкам от корня сайта, например: <img src="/pics/6.gif">

2. Получать полный путь:

PHP:
$PICTURE_PATH = "http://" . $_SERVER['SERVER_NAME'] . "/pics/";

print '<img src="' . $PICTURE_PATH . '6.gif">';
Т.е. путь к картинке ты дорлжен указывать относительно корневого каталога сайта, а не корневого каталога файловой системы сервера. :)
 

galiant

Новичок
Окей, я понял. То есть имя у переменной должно быть
$PATH="http://www.site.ru/pic/", и именно так все теги <img> будут обращаться к картинке? я почему-то думал что так медленнее. Типа если <img src="pic/2.gif">, то это быстрее чем <img src="http://www.site.ru/pic/2.gif">. Я ошибался ? :)
 

galiant

Новичок
AlexVN: Но дело в том что сайт сделан по шаблонному типу. Там инклудится шапка, низ и т.д. И директории бывают глубокими достаточно, а из каждой директории подрубается один и тот-же шаблон шапки.
и если это compnay/info/map , то для нее путь указанный в шаблоне "/pics/" не подойдет естесно...




Я кажется понял в чем моя ошибка :) Я думал что обращения к картинкам по абсолютному пути типа http://www.site.ru/pic/cool.gif произойдет медленнее чем по локальной ссылке на картинку. Насколько я понял разницы нет, а значит и проблеммы нет :)


ВСЕМ СПАСИБО :)
 

SergeR

Новичок
Автор оригинала: galiant
AlexVN: Но дело в том что сайт сделан по шаблонному типу. Там инклудится шапка, низ и т.д. И директории бывают глубокими достаточно, а из каждой директории подрубается один и тот-же шаблон шапки.
и если это compnay/info/map , то для нее путь указанный в шаблоне "/pics/" не подойдет естесно...
Где бы ни находились страница или шаблон, путь, указанный как "/pics/..." будет для них правильным -- это указание на директорию pics, находящуюся в корне сайта. Только не забывай про ведущий (первый, leading) :) слэш :D
 

JVN

Guest
Вообще-то есть в HTML'е такой полезный тэг BASE.
Лично я в таких ситуациях всегда пользуюсь им.
Пишешь, например:
PHP:
<base href="http://www.site.com">
И дальше все ссылки - от корня сайта.
 
Сверху