Меня учили, что хорошей практикой является указание каталога файла, на который вы ссылаетесь, даже если файл находится в текущем каталоге.Так, например, используйте «./constants.inc.php» вместо «constants.inc.php».Обычно это работает нормально для меня, за исключением одного конкретного места в моем коде, когда я использую обозначение ./, я получаю следующую ошибку PHP:
Предупреждение: require (./ constants.inc.php) [function.require]: не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ widget_corp \ includes \ functions.inc.php в строке 4
Неустранимая ошибка: require () [function.require]: Не удалось открыть «./constants.inc.php» (include_path = '.; C: \ xampp \ php \ PEAR; C: \ xampp \ htdocs \ sites \ mathverse \ includes') в C: \xampp \ htdocs \ widget_corp \ includes \ functions.inc.php в строке 4
Запись "./constants.inc.php" выдает эту ошибку, а "constants.inc.php" - нет(PHP, кажется, находит файл просто отлично).Может кто-нибудь сказать мне, почему запись ./ не работает в этом конкретном случае?Возможно, я упускаю что-то очень простое?
Чтобы дать немного больше контекста (если необходимо), ошибка в функции ниже (строка 2), которая находится в моем файле функций PHP (называемых функциями.inc.php), который находится внутри каталога include.Файл constant.inc.php также находится в каталоге include.
Спасибо.
function connect_to_db() {
require("./constants.inc.php");
$connection_id = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if (!$connection_id) {
die("Database connection failed: " . mysql_error());
}
$db_selection_was_successful = mysql_select_db(DB_NAME, $connection_id);
if (!$db_selection_was_successful) {
die("Database selection failed: " . mysql_error());
}
}