Для некоторых манипуляций с файлами в PHP необходимо использовать путь, который будет указывать на файл или папку в файловой системе сервера, а не URL, который можно найти в адресной строке браузера или в виде ссылки на изображение, например.

1. Магические константы PHP

Для начала вспомним о магических константах в PHP:

  • __FILE__ - полный путь и имя текущего файла с развёрнутыми симлинками. Если используется внутри подключаемого файла, то возвращается имя данного файла.
  • __DIR__ -  Директория файла. Если используется внутри подключаемого файла, то возвращается директория этого файла. Это эквивалентно вызову dirname(__FILE__). Возвращаемое имя директории не оканчивается на слеш, за исключением корневой директории.

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

Например, для сайта, расположенного в директории D:\OSPanel\domains\test (для локального сервера OpenServer), мы хотим узнать путь к файлу в папке pages/about.php:

2. Используем функцию realpath()

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

Например:

Теперь у нас есть полный путь к файлу.

3. Используем переменную $_SERVER['DOCUMENT_ROOT']

Переменная $_SERVER['DOCUMENT_ROOT'] согласно документации - это директория корня документов, в которой выполняется текущий скрипт, та, которая указана в конфигурационном файле сервера. Поэтому мы можем использовать эту переменную для формирования пути к файлу, если известно расположение файла относительно корневой директории сайта.

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

4. Используем функцию getcwd()

Функция getcwd() возвращает текущий рабочий каталог скрипта в случае успешного выполнения или false в случае ошибки. Вы можете использовать эту функцию для создания пути к файлу или каталогу относительно текущего рабочего каталога. Например:

Это даст вам путь к файлу или папке (каталогу) относительно текущего рабочего каталога.

Заключение

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

Автор: Админ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *