2015-09-07 5 views

ответ

11

PHP-скрипты работают относительно текущего пути (результат getcwd()), а не по пути их собственного файла. Использование __DIR__ заставляет включить включение относительно их собственного пути.

Для демонстрации создайте следующие файлы (и каталоги):

- file1.php 
- dir/ 
    - file2.php 
    - file3.php 

Если file2.php включает file3.php так:

include `file3.php`. 

Это будет работать хорошо, если вы звоните file2.php напрямую. Однако если file1.phpвключает в себяfile2.php, текущий каталог (getcwd()) будет неправильным для file2.php, поэтому file3.php не может быть включен.

0

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

https://secure.php.net/manual/en/function.set-include-path.php

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

+0

Хотя это и правда, это не самая важная причина. – Evert

 Смежные вопросы

  • Нет связанных вопросов^_^