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

Посмотрим как можно сформировать 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’] используют разный разделитель для подкаталогов (слеш и бек-слеш).

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

Как в PHP сделать буквы заглавными?

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

PHP обладает целым арсеналом работы со строками. Сделать буквы заглавными или наоборот перевести в строчные - нет ничего проще. Базовый набор функций для работы со строками содержит такие функции как: string strtolower ( string $string ); - ...

Читать

Сохранение файла, загруженного на сервер с помощью PHP

Январь 29, 2021 г.

Эта статья о некоторых задачах, возникающих при сохранении файла на сервере, при получении его от пользователя через форму (<input type="file" />). Определимся с требованиями. Технически, решение нужно в виде функции, которая принимает набор ...

Читать

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

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

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

Читать

php - получить первый день следующего месяца

Ноябрь 19, 2019 г.

При создании расписаний, календарей, и т.п. могут возникать задачи вроде - получить timestamp первого дня этого месяца, или последнего дня следующего и т.п. В лоб это решается вот так: [crayon-6876b3dfcf86e460290001/] Со следующим месяцем ...

Читать
 

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

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



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