Какие каталоги проверяет PHP при включении относительного пути с помощью include ()?
Это очень странно, кто-нибудь еще подводил итоги?
Иногда он также проверяет каталог включенного файла.
Но иногда нет.
D: \ Test \ 1.php
<?php
include('sub\2.php');
D: \ Test \ 2.php
<?php
include('3.php');
куда3.php
находится в той же директории, что и2.php
.
Выше работает, но почему? Текущий каталог должен бытьD:\test
, но он все еще может найти 3.php, который находится вD:\test\sub
Больше истории(окончательный)
Около года назад я столкнулся с этой проблемой, а потом решил исправить ее с помощью жесткого кода, как показано ниже:
common.php:
if (file_exists("../../../Common/PHP/Config.inc"))
include('../../../Common/PHP/Config.inc');
if (file_exists("../../Common/PHP/Config.inc"))
include('../../Common/PHP/Config.inc');
if (file_exists("../Common/PHP/Config.inc"))
include('../Common/PHP/Config.inc');
if (file_exists("Common/PHP/Config.inc"))
include('Common/PHP/Config.inc');
кудаConfig.inc
находится в том же каталоге, что иCommon.php