Как я могу указать абсолютный путь к файловой системе в require_once в PHP?

Проще говоря, как указать абсолютный путь к файловой системе с помощью ключевого слова require_once в PHP? Код будет выполняться в CLI, а не на веб-странице. Каков путь к корневому файлу? Я использую Windows, к вашему сведению.

Спасибо.


person user717236    schedule 18.07.2012    source источник


Ответы (4)


В Windows это обозначение обратной косой черты, также вам нужно избегать их, если вы используете двойные кавычки.

require_once("C:\\folder\\folder\\etc");
person Community    schedule 18.07.2012

Попробуйте использовать магическую константу __DIR__.

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

person Kasia Gogolek    schedule 18.07.2012

require_once('/some/path/foo.php');

Если путь начинается с /, это означает, что вы используете абсолютный (начиная с корня) путь.

require_once('some/path/foo.php');

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

В противном случае взгляните на __FILE__ и __DIR__ магические константы.

person RobIII    schedule 18.07.2012
comment
Кто бы это не проголосовал: по крайней мере, имейте приличие объяснить, почему - person RobIII; 18.07.2012
comment
Они, конечно, должны были объяснить - теперь мне интересно, работает ли ваш ответ в Windows, потому что это было бы моим предположением относительно того, почему за него проголосовали. - person bcmcfc; 18.07.2012

Что ж, только \ даст вам корень текущего диска (обычно C:\), или, если вам нужно, вы можете указать, какой диск вам нужен. Просто не забудьте экранировать эти обратные косые черты или вместо них использовать прямые косые черты (Windows автоматически преобразует их).

person Niet the Dark Absol    schedule 18.07.2012