2013-09-29 3 views
1

У меня есть эта структура каталогов:PHP Абсолютные и относительные пути

/style/style.php 
/style/graphics/logo.png 
/cp-admin/index.php 

style.php содержит следующую функцию, которая перекликается с логотипом:

function logo(){ 
    echo "<p><img class = 'logo' src = 'style/graphics/logo.png'></p>"; 
} 

Я использую эту функцию, так что если я изменить путь логотипа или включить в него что-то еще вместе с ним, все, что требуется, - это изменить функцию, а изменения отражаются на всех страницах.

Однако, когда я включаюсь из /cp-admin/index.php, путь выше берется относительно index.php вместо пути исходной функции.

Я хочу, чтобы функция имела путь, на который ссылается, от самой функции, а не от всех страниц, на которых она включена.

Заранее спасибо :)

+0

Использование функций и функционального программирования являются совершенно разные темы, на самом деле. – Mikk

+0

Ты прав, моя ошибка. Собирался на «функцию», и я нажал не тот. Спасибо за хедз-ап - исправлено :) – MemoNick

+1

Возможно, что-то вроде: передайте текущий каталог в логотип() в качестве аргумента, который затем проверяет ['__FILE__'] (http://stackoverflow.com/questions/ 4645082/get-absolute-path-of-current-script) и создает правильный относительный путь между двумя каталогами? – jozxyqk

ответ

1

Если вы хотите, чтобы перейти в папку, которую можно использовать

/ который является корнем и после того, как сделать свой путь, так как это место (asbolute)

или использовать относительный путь, в этом случае, вы не вернуться назад, пока общая папка с «..»

Try в абсолютной

echo "<p><img class = 'logo' src = '/style/graphics/logo.png'></p>"; 

            ^from the root 

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

echo "<p><img class = 'logo' src = 'graphics/logo.png'></p>"; 

            ^style.php and the folder graphics are in the same parent folder 'style' 
+0

Что дает? Все, чего не хватало, было то, что было маленьким «/» :) Это было трюк - большое спасибо! – MemoNick

+0

Рад помочь вам :), передайте ваше сообщение как разрешенное, если оно есть. –

Смежные вопросы