Урок 4

Пути к файлам — важная основа

12 мин

Зачем понимать пути?

Когда вы работаете с кодом, постоянно нужно указывать, где лежат файлы:

  • Подключить CSS-стили к HTML
  • Загрузить картинку на страницу
  • Подключить один PHP-файл к другому
  • Настроить Docker на работу с вашей папкой

Если путь указан неправильно — ничего не работает. Давайте разберёмся раз и навсегда.

Как устроена файловая система

Файлы на компьютере организованы в папки (директории). Папки могут содержать файлы и другие папки. Это создаёт дерево:

Windows:
C:\
├── Users\
│   └── Иван\
│       ├── Documents\
│       │   └── projects\
│       │       └── my-blog\
│       │           └── test.php
│       └── Desktop\
└── Program Files\

Mac/Linux:
/
├── Users/
│   └── ivan/
│       ├── Documents/
│       │   └── projects/
│       │       └── my-blog/
│       │           └── test.php
│       └── Desktop/
└── Applications/

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

Абсолютный путь — это полный адрес файла от корня диска. Как почтовый адрес с городом, улицей и квартирой.

Windows:

C:\Users\Иван\Documents\projects\my-blog\test.php

Mac/Linux:

/Users/ivan/Documents/projects/my-blog/test.php
Обратите внимание:
- Windows использует обратные слеши: \
- Mac/Linux используют прямые слеши: /
- Windows начинается с буквы диска: C:\
- Mac/Linux начинаются просто со слеша: /

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

Относительный путь — путь от текущей папки. Как сказать "в соседнем доме" вместо полного адреса.

Допустим, вы находитесь в папке my-blog. Тогда:

Путь Что означает
test.php Файл test.php в текущей папке
./test.php То же самое (. = текущая папка)
images/logo.png Файл logo.png в подпапке images
../other.php Файл в родительской папке (.. = на уровень выше)
../../file.txt На два уровня выше

Специальные обозначения

  • . (точка) — текущая папка
  • .. (две точки) — родительская папка (на уровень выше)
  • ~ (тильда) — домашняя папка пользователя (Mac/Linux)

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

Вот как будет выглядеть наш блог:

my-blog/
├── docker-compose.yml      # Настройки Docker
├── public/                 # Публичная папка (сюда смотрит веб-сервер)
│   ├── index.php           # Главная страница
│   ├── about.php           # Страница "О нас"
│   └── assets/             # Статические файлы
│       ├── css/
│       │   └── style.css
│       └── images/
│           └── logo.png
└── config/
    └── database.php        # Настройки базы данных

Примеры путей внутри проекта

Если вы в файле index.php и хотите подключить CSS:

<link rel="stylesheet" href="assets/css/style.css">

Или с использованием абсолютного пути от корня сайта:

<link rel="stylesheet" href="/assets/css/style.css">
Важно понимать:
Путь /assets/css/style.css (начинается со слеша) — это путь от корня сайта, а не от корня диска! В браузере / означает корень вашего сайта (папку public).

Как узнать текущий путь

В терминале

pwd

В PHP

<?php
echo __DIR__;  // Папка текущего файла
echo __FILE__; // Полный путь к текущему файлу
?>

Типичные ошибки

Ошибка: Картинка не загружается
Причина: Неправильный путь
Решение: Проверьте путь в инструментах разработчика браузера (F12 → Console)
Ошибка: PHP-файл не подключается
Причина: Путь указан относительно не той папки
Решение: Используйте __DIR__ для надёжных путей

Подводим итог

Теперь вы понимаете:

  • Что такое абсолютный и относительный путь
  • Как устроена файловая система
  • Что означают ., .., /
  • Как будет выглядеть структура нашего проекта
Отлично! Подготовительный этап завершён. Теперь вы готовы к установке Docker и созданию настоящего проекта!

Мы используем файлы cookie для улучшения работы сайта и персонализации контента. Продолжая использовать сайт, вы соглашаетесь с использованием cookies в соответствии с нашей Политикой конфиденциальности.