#php
Вопрос:
Когда я пытаюсь получить доступ includes/config.php изнутри account/index.php Я получаю эти ошибки:
Предупреждение: включите(classes/user.php): не удалось открыть поток: Нет такого файла или каталога в /var/www/htdocs/dashboard/includes/config.php на линии 6
Предупреждение: включить(): Неудачное открытие ‘classes/user.php’ для включения (include_path=’.:/usr/share/php’) в /var/www/htdocs/dashboard/includes/config.php на линии 6
Я правильно определяю путь, но когда index.php доступ к config.php, Я думаю config.php возникает проблема с каталогом при вызове классов в config.php, Я не мог найти, как это решить.
Заранее спасибо.
Вот структура папок
App/
├─ account/
│ ├─ index.php
├─ classes
├─ includes/
│ ├─ config.php
├─ index.php
index.php в account/index.php
<?php
require('../includes/config.php');
?>
config.php в includes/config.php
<?php
ob_start();
session_start();
//include the user class, pass in the database connection
include('classes/user.php');
include('classes/phpmailer/mail.php');
include('classes/slug.php');
$user = new User($db);
?>
Комментарии:
1. Я полагаю, что вам нужно пройти вверх по одному каталогу для вашего includes, т. Е.
include('../classes/user.php);
и т. Д2. Но на этот раз index.php в главном корне возникают те же ошибки. Так как же соединить все вместе? @Gowire
Ответ №1:
Как сказал @Sohrab, вам нужно дать ему абсолютный путь. Вы можете решить эту проблему с __DIR__
помощью . (каталог файла), чтобы узнать больше о директории
Вы должны использовать его как:
require(__DIR__.'/../includes/config.php');
также в config.php и другие файлы:
include(__DIR__.'/../classes/user.php');
include(__DIR__.'/../classes/phpmailer/mail.php');
include(__DIR__.'/../classes/slug.php');
Ответ №2:
Файл конфигурации ищет файлы в своем каталоге. Вам следует изменить свой код на:
<?php
ob_start();
session_start();
//include the user class, pass in the database connection
include('../classes/user.php');
include('../classes/phpmailer/mail.php');
include('../classes/slug.php');
$user = new User($db);
?>
Комментарии:
1. Я пробовал это, но index.php в главном корне выдает ту же ошибку, что и account/index.php
2. Если вы хотите получить доступ к какому-либо другому каталогу из main, вы можете указать ему абсолютный путь (который начинается с»/»). Я предлагаю вам узнать об абсолютном и относительном пути.
3. Хорошо, спасибо, я узнаю об абсолютном пути.