Относительные и абсолютные пути в HTML и PHP. Абсолютный и относительный путь к файлу

29.07.2019

В статье приведены кусочки кода. Полную версию можно взять тут — https://bitbucket.org/okiseleva/html-and-css-learn/src . Папки — «absolute_path_lvl_1» и все вложенные.

Путь может быть абсолютный и относительный.

Абсолютный путь

Абсолютный путь — это путь от корневой папки к файлу.

Путь состоит из всех папок, которые нам надо просмотреть, разделенных через слеш. Посмотрим на примере:

/absolute_path_lvl_1/level_2.1/level_3.1/Kevin.png

Абсолютный путь к файлу

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

Относительный путь — это ссылка, указывающая на другие страницы вашего сайта относительно веб-страницы, на которой эта ссылка уже находится.

Если опускаем вниз по папкам, разделяем также через «/». Если надо подняться на уровень выше, пишем «..»

1. Самый простой пример относительного пути - это просто имя файла. если файл лежит рядом, просто указываем его имя

Hello.png

Относительный путь, файл рядом


2. Поднимаемся на папку выше

../Kevin_lvl_2.png

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

3. Пример посложнее, из Diff_paths.html к картинке с Кевином

../level_2.1/level_3.1/Kevin.png

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


Чем отличаются абсолютный и относительный пути

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

Если в начале пути корень не указать, то этот путь будет относительным, и он достраивается от текущего положения. В реальной жизни это напоминает дорогу к винному магазину - "два квартала налево и там все время прямо". Дойти по такому пути можно только из конкретной точки. Из другой ты попадешь уже в совсем другое место.

В файле absolute_path_lvl_1 / level_2.2 / Diff_paths.html можно посмотреть пример HTML страницы с разными путями к файлам.

Вот пример абсолютного и относительного пути для одного и того же файла с Кевином.


D:/hgprojects → сюда у меня выкачан проект «html-and-css-learn». У вас может быть другой путь


PS — подробнее в книге «

Адрес ссылки может быть как абсолютным, так и относительным. Абсолютные адреса должны начинаться с указания протокола (обычно http://) и содержать имя сайта. Относительные ссылки ведут отсчет от корня сайта или текущего документа.

В примере 8.2 показано создание абсолютной ссылки на другой сайт.

Пример 8.2. Использование абсолютных ссылок

Абсолютный адрес

Изучение HTML

При указании в качестве ссылки каталога сайта (например, http://сайт/css/), отображается индексный файл . Это файл, который загружается по умолчанию при обращении к каталогу без явного указания имени файла. Обычно в качестве индексного файла выступает документ с именем index.html .

Абсолютные ссылки обычно применяются для указания документа на другом сетевом ресурсе, впрочем, допустимо делать абсолютные ссылки и внутри текущего сайта. Однако подобное практикуется нечасто, поскольку такие ссылки достаточно длинные и громоздкие. Поэтому внутри сайта преимущественно используются относительные ссылки.

Ссылки относительно текущего документа

При создании относительных ссылок надо понимать, какое значение для атрибута href следует указывать, поскольку оно зависит от исходного расположения файлов. Рассмотрим несколько типичных вариантов.

1. Файлы располагаются в одной папке (рис. 8.4).

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

2. Файлы размещаются в разных папках (рис. 8.5).

Когда исходный документ хранится в одной папке, а ссылаемый в корне сайта, то перед именем файла в адресе ссылки следует поставить две точки и слэш (/), как показано ниже.

Две точки в данном случае означают выйти из текущей папки на уровень выше.

3. Файлы размещаются в разных папках (рис. 8.6).

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

Ссылка

Аналогично обстоит дело с любым числом вложенных папок.

4. Файлы размещаются в разных папках (рис. 8.7).

Теперь ситуация меняется, исходный файл располагается в корне сайта, а файл, на который необходимо сделать ссылку - в папке. В этом случае путь к файлу будет следующий.

Ссылка

Заметьте, что никаких дополнительных точек и слэшей перед именем папки нет. Если файл находится внутри не одной, а двух папок, то путь к нему записывается так.

Ссылка

Ссылки относительно корня сайта

Иногда можно встретить путь к файлу относительно корня сайта, он выглядит как "/Папка/Имя файла" со слэшем вначале. Так, запись Курсы означает, что ссылка ведет в папку с именем course, которая располагается в корне сайта, а в ней необходимо загрузить индексный файл.

Учтите, что такая форма записи не работает на локальном компьютере, а только под управлением веб-сервера.

Адрес ссылки может быть как абсолютным, так и относительным. Абсолютные адреса должны начинаться с указания протокола (обычно http://) и содержать имя сайта. Относительные ссылки ведут отсчет от корня сайта или текущего документа.

В примере 8.2 показано создание абсолютной ссылки на другой сайт.

Пример 8.2. Использование абсолютных ссылок

Абсолютный адрес

Изучение HTML

При указании в качестве ссылки каталога сайта (например, http://сайт/css/), отображается индексный файл . Это файл, который загружается по умолчанию при обращении к каталогу без явного указания имени файла. Обычно в качестве индексного файла выступает документ с именем index.html .

Абсолютные ссылки обычно применяются для указания документа на другом сетевом ресурсе, впрочем, допустимо делать абсолютные ссылки и внутри текущего сайта. Однако подобное практикуется нечасто, поскольку такие ссылки достаточно длинные и громоздкие. Поэтому внутри сайта преимущественно используются относительные ссылки.

Ссылки относительно текущего документа

При создании относительных ссылок надо понимать, какое значение для атрибута href следует указывать, поскольку оно зависит от исходного расположения файлов. Рассмотрим несколько типичных вариантов.

1. Файлы располагаются в одной папке (рис. 8.4).

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

2. Файлы размещаются в разных папках (рис. 8.5).

Когда исходный документ хранится в одной папке, а ссылаемый в корне сайта, то перед именем файла в адресе ссылки следует поставить две точки и слэш (/), как показано ниже.

Две точки в данном случае означают выйти из текущей папки на уровень выше.

3. Файлы размещаются в разных папках (рис. 8.6).

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

Ссылка

Аналогично обстоит дело с любым числом вложенных папок.

4. Файлы размещаются в разных папках (рис. 8.7).

Теперь ситуация меняется, исходный файл располагается в корне сайта, а файл, на который необходимо сделать ссылку - в папке. В этом случае путь к файлу будет следующий.

Ссылка

Заметьте, что никаких дополнительных точек и слэшей перед именем папки нет. Если файл находится внутри не одной, а двух папок, то путь к нему записывается так.

Ссылка

Ссылки относительно корня сайта

Иногда можно встретить путь к файлу относительно корня сайта, он выглядит как "/Папка/Имя файла" со слэшем вначале. Так, запись Курсы означает, что ссылка ведет в папку с именем course, которая располагается в корне сайта, а в ней необходимо загрузить индексный файл.

Учтите, что такая форма записи не работает на локальном компьютере, а только под управлением веб-сервера.

Ссылки можно поделить на две категории:
ссылки на внешние ресурсы — создаются с помощью тега и используются для расширения возможностей текущего документа при обработке браузером;
гиперссылки — ссылки на другие ресурсы, которые пользователь может посетить или загрузить.

Как сделать гиперссылки на сайте

1. Структура ссылки

Гиперссылки создаются с помощью парного тега . Внутрь тега помещается текст, который будет отображаться на веб-странице. Текст ссылки отображается в браузере с подчёркиванием, цвет шрифта — синий, при наведении на ссылку курсор мыши меняет вид.

Обязательным параметром тега является атрибут href , который задает URl-адрес веб-страницы.

указатель ссылки

Ссылка состоит из двух частей — указателя и адресной части . Указатель ссылки представляет собой фрагмент текста или изображение, видимые для пользователя. Адресная часть ссылки пользователю не видна, она представляет собой адрес ресурса, к которому необходимо перейти.

Адресная часть ссылки состоит из URl. URl (Uniform Resource Locator) — унифицированный адрес ресурса. При создании адресов для разделения слов между собой рекомендуется использовать дефис, а не символ подчёркивания. В общем виде URl имеющий следующий формат:

Метод доступа://имя сервера:порт/путь

Метод доступа , или протокол, осуществляет обмен данными между рабочими станциями в разных сетях. Наиболее распространенные протоколы передачи данных:

file обеспечивает чтение файла с локального диска:

File:/gallery/pictures/summer.html

http предоставляет доступ к веб-странице по протоколу HTTP:

Http://site.ru/

https - специальная реализация протокола HTTP, использующая шифрование (как правило, SSL или TLS)

Https://site.ru/

ftp осуществляет запрос к FTP-серверу на получение файла:

Ftp://pgu/directory/library

mailto запускает сеанс почтовой связи с указанным адресатом и хостом:

Mailto: [email protected]

Имя сервера описывает полное имя машины в сети, например, site.ru . Если имя сервера не указано, то ссылка считается локальной, т.е. она относится к той же машине, на которой находится HTML-документ, содержащий ссылку.

Номер порта ТСР , на котором функционирует веб-сервер. Представляет собой число, которое необходимо указывать, если метод требует номер порта (отдельные сервера могут иметь свой отличительный номер порта). Если порт не указан, по умолчанию используется порт 80. Стандартными портами являются:
21 — FTP
23 — Telnet
70 — Gopher
80 — HTTP

Путь содержит имя папки, в которой находится файл.

2. Абсолютный и относительный путь

Когда в ссылке указывается только имя файла, браузер предполагает, что файл находится в той же папке, что и документ, содержащий гиперссылку. На практике веб-сайты содержат сотни документов, которые размещают в отдельные папки, чтобы ими было легче управлять. Чтобы создать ссылку на файл, находящийся вне папки, содержащей текущий документ, необходимо указать расположение файла или путь. HTML поддерживает два вида пути: абсолютный и относительный.

Рис. 1. Пример структуры папок

2.1. Абсолютный путь

Абсолютный путь указывает точное местоположение файла в пределах всей структуры папок на компьютере (сервере). Абсолютный путь к файлу даёт доступ к файлу со сторонних ресурсов и содержит следующие компоненты:
1) протокол, например, http (опционально);
2) домен (доменное имя или IP-адрес компьютера);
3) папка (имя папки, указывающей путь к файлу);
4) файл (имя файла).

Существует два вида записи абсолютного пути — с указанием протокола и без него:

Http://site.ru/pages/tips/tips1.html //site.ru/pages/tips/tips1.html

Если файл находится в корневой папке, то путь к файлу будет следующим:

Http://site.ru/index.html

При отсутствии имени файла будет загружаться веб-страница, которая задана по умолчанию в настройках веб-сервера (так называемый индексный файл).

Http://site.ru/

Обычно в качестве индексного файла выступает документ с именем index.html . Наличие завершающего слеша / означает, что обращение идет к папке, если его нет — напрямую к файлу.

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

Относительный путь описывает путь к указанному документу относительно текущего. Путь определяется с учётом местоположения веб-страницы, на которой находится ссылка. Относительные ссылки используются при создании ссылок на другие документы на одном и том же сайте. Когда браузер не находит в ссылке протокол http:// , он выполняет поиск указанного документа на том же сервере.

Относительный путь содержит следующие компоненты:
1) папка (имя папки, указывающей путь к файлу);
2) файл (имя файла).

Путь для относительных ссылок имеет три специальных обозначения:
/ указывает на корневую директорию и говорит о том, что нужно начать путь от корневого каталога документов и идти вниз до следующей папки
./ указывает на текущую папку
../ подняться на одну папку (директорию) выше

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

3. Якоря

Якоря , или внутренние ссылки, создают переходы на различные разделы текущей веб-страницы, позволяя быстро перемещаться между разделами. Это оказывается очень удобным в случае, когда на странице слишком много текста. Внутренние ссылки также создаются при помощи тега с разницей в том, что атрибут href содержит имя указателя — так называемый якорь , а не URl-адрес. Перед именем указателя всегда ставится знак # .

Каждая веб-страница обладает уникальным адресом, который называется «унифицированным указателем ресурса» (Uniform Resource Locator; URL). Однако при создании локальной ссылки (ссылки с одного документа на другой в пределах одного сайта) обычно задается неполный URL-адрес документа. Вместо этого вводят относительный путь от текущего документа либо от корневой папки сайта.

Существует три типа путей ссылок:

    Пути относительно документа (такие как dreamweaver/contents.html).

    Пути относительно корня сайта (например, /support/dreamweaver/contents.html).

    При создании ссылок Dreamweaver позволяет легко выбрать тип пути документа.

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

Абсолютные пути

Для создания ссылки на документ или ресурс, находящийся на другом сервере, следует использовать абсолютные пути. Кроме того, абсолютные пути можно использовать для локальных ссылок (на документы, находящиеся на том же сайте), но подобный подход неправилен: при перемещении сайта на другой домен все локальные ссылки с абсолютными путями станут недействительными. Использование относительных путей для локальных ссылок обеспечивает большую гибкость в том случае, если приходится перемещать файлы внутри сайта.

Примечание. При вставке изображений (не ссылок) можно использовать абсолютный путь на изображение на удаленном сервере (то есть изображение в таком случае не будет доступно на локальном жестком диске).

Пути относительно документа

На большинстве сайтов для локальных ссылок лучше всего использовать пути относительно документа. Это особенно удобно, если текущий и связанный документ (или ресурс) находятся в одной папке и, вероятнее всего, будут находиться там все время. Для ссылки на документы и ресурсы другой папки можно также использовать пути относительно документа, задавая путь по структуре папок от текущего документа до целевого документа.

Главными особенностями путей относительно документа являются отсутствие части абсолютного пути, одинаковой для текущего и связанного документа (или ресурса), и наличие только той части пути, которая различается.

Допустим, имеется сайт со следующей структурой:

    Для связи файла contents.html с файлом tips.html (находящимся во вложенной папке resources) используйте относительный путь «resources/tips.html». Каждый символ наклонной черты (/) обозначает переход на один уровень ниже в иерархии папок.

    Для связи файла contents.html с файлом index.html (находящимся в родительской папке, на один уровень выше файла content.html) используется относительный путь «../index.html». Две точки и наклонная черта (../) обозначают переход на один уровень выше в иерархии папок.

    Для связи файла contents.html с файлом catalog.html (находящимся в другой вложенной папке той же родительской папки) используется относительный путь «../products/catalog.html». В данном случае строка «../» обозначает переход в родительскую папку, а строка «products/» - переход во вложенную папку products.

    При перемещении файлов группами (например, если перемещается целая папка и при этом все файлы в папке сохраняют те же пути относительно друг друга) для них исчезает необходимость обновления ссылок относительно документов. Однако при перемещении отдельного файла со ссылкой относительно документа (или файла, на который указывает такая ссылка) в ссылку необходимо внести изменения. (При перемещении или изменении имен файлов с помощью панели «Файлы» Dreamweaver обновляет все соответствующие ссылки автоматически.)

Пути относительно корня сайта

Пути относительно корня сайта - это путь от корневой папки сайта до документа. Такие пути могут использоваться при работе с большим веб-сайтом, работающим с несколькими серверами, или с одним сервером, на котором находятся несколько сайтов. Однако если пользователь не знаком с подобным типом путей, то можно продолжать использовать пути относительно документа.

Пути относительно корня сайта начинаются с наклонной черты, которая символизирует корневую папку сайта. Например, путь /support/tips.html является путем относительно корня сайта к файлу (tips.html) во вложенной папке Support.

Лучше всего использовать пути относительно корня сайта в качестве ссылок при частом перемещении HTML-файлов из одной папки в другую на веб-сайте. При перемещении документа со ссылками относительно корня не возникает необходимости менять эти ссылки, так как они «привязаны» к корню, а не к самому документу. Например, если в HTML-файлах есть ссылки относительно корня для зависимых файлов (например, изображений), при перемещении HTML-файла ссылки будут оставаться действительными.

В то же время при перемещении или переименовании файлов, для которых созданы ссылки, следует обновить ссылки, даже если относительные пути при этом не изменились. Например, при перемещении папки следует обновить все ссылки относительно корня сайта для всех файлов в ней. (При перемещении или изменении имен файлов с помощью панели «Файлы» Dreamweaver обновляет все соответствующие ссылки автоматически.)

Похожие статьи