Это очень странно, кто-нибудь еще подводил итоги?
Иногда он также проверяет каталог включенного файла.
Но иногда нет.
D: \ тест \ 1.php
<?php
include('sub\2.php');
D: \ тест \ 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