Формируем относительную ссылку

Посмотрим как можно сформировать url относительно текущего местоположения файла в php.

К примеру, у в каталоге /site-script/ находится программа на PHP  и подкаталог /site-script/img, где хранятся картинки.

Требуется построить относительный путь для изображений. Т.е. получить /site-script/img/picture_name.ext — url, который можно выводить в шаблоне.

Константа __FILE__

Определить путь файла скрипта позволяется системная константа __FILE__, которая хранит имя файла текущего скрипта и полный его путь.

Допустим, полный путь к программе выглядит так:

тогда dirname(__FILE__) вернет нам:

Если добавить к нему /img/picture_name.ext, то мы получим системный путь картинки на нашем сервере.

Используем $_SERVER[‘DOCUMENT_ROOT’]

Нам нужно избавиться от части пути, которая совпадает с $_SERVER[‘DOCUMENT_ROOT’]. Можно использовать замену, но мы выбираем substr():

Использование substr позволяет в частности не заботиться о том, что, к примеру, в WINDOWS окружении __FILE__ и $_SERVER[‘DOCUMENT_ROOT’] используют разный разделитель для подкаталогов (слеш и бек-слеш).

Мало букафф? Читайте есчо !

Раздвигающееся вертикальное меню Drupal 6

Сентябрь 7, 2013 г.

Эта задача из разряда useability. Drupal может штатно создавать блоки вертикальных иерархических меню. Неудобным будет тот случай, когда мы хотим попасть на страницу в глубине иерархии этого меню. Нам придется последовательно заходить на родительские ...

Читать

Что использовать вместо mysql_escape_string() в Drupal 7?

Сентябрь 6, 2016 г.

Начиная с версии PHP 4.3.0, функция mysql_escape_string() считается устаревшей. PHP будет выдавать соответствующее предупреждение. Deprecated function: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. Т.е. ...

Читать

PHP загрузка файлов через форму

Апрель 30, 2018 г.

Получение данных из формы на PHP - одна из типовых задач. И если большинство полей не вызывает каких то сложностей с обработкой на входе, то поле для загрузки файлов - может оказаться крепким орешком для начинающего разработчика. Все проблемы возникают ...

Читать

Вызов замыкания из другой анонимной функции.

Декабрь 14, 2020 г.

При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно. Пример ситуации: [crayon-6a5d35c314087932274901/] Для того чтобы в ...

Читать
 

Комментарии к «Формируем относительную ссылку»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: