Является ли "реальный путь" избыточным в $AbsolutePath = реальный путь (РЕЖ? Всегда ли DIR канонический абсолютный путь?
Имеет ли смысл делать что-то вроде
$dir = realpath(dirname(__FILE__));
// or for php 5.3+:
$dir = realpath(__DIR__)
Или магические константы, такие как DIR и ФАЙЛ всегда возвращает абсолютный путь, поэтому реальный путь является избыточным?
1 answers
Тебе не нужно realpath()
.
Документация по __FILE__
:
Полный путь и имя файла. Если используется внутри включения, возвращается имя включенного файла. Начиная с PHP 4.0.2,
__FILE__
всегда содержит абсолютный путь с разрешенными символическими ссылками, тогда как в более старых версиях при некоторых обстоятельствах он содержал относительный путь.
Таким образом, __FILE__
возвращает абсолютный путь => realpath()
ненужный
И если вы используете __DIR__
:
Каталог файла. Если используется внутри включения, возвращается каталог включенного файла. Это эквивалентно имени dirname(
__FILE__
). У этого имени каталога нет конечной косой черты, если только это не корневой каталог. (Добавлено в PHP 5.3.0.)
__DIR__
также возвращает абсолютный путь, потому что dirname()
не отсекает абсолютную часть пути __FILE__
=> realpath()
ненужный