Intereting Posts
Fullcalender два события в день Поиск общих / необычных элементов между двумя массивами в PHP php как получить доступ к массиву объектов В mongoDB Symfony2 вместо моих объектов возвращается loggablecursor Вычисление факторического ранга перестановки (N выбрать K) PHP: move_uploaded_file () не удалось открыть поток: нет такого файла или каталога Как PHP взаимодействует с HTML и наоборот? Использование тегов <input> непосредственно внутри <table> Как я могу переписать мой PHP и MySQL для группировки моего списка HTML равными значениями столбцов? Активно поддерживаемые библиотеки PHP для аутентификации пользователей? Переменные сеанса PHP заменяются локальными переменными? Нарушение родительской функции из дочерней функции (PHP Preferrably) file_get_contents () с контекстом для использования http / 1.1 значительно медленных скоростей загрузки Почему PHP не печатает TRUE / FALSE? Существуют ли случаи, когда деструктор в PHP НЕ вызывается?

PHP и пути – относительно файла и не включая код

Я действительно запутался в PHP и системе путей.

У меня есть эта структура:

- Includes - Login - View * Secure 

Это все каталоги на моем сайте. Теперь, если я помещаю файлы в папку «Просмотр», я могу получить доступ к файлам в моей папке «Включает»:

 "../Includes/file.php" 

Если я хочу включить тот же файл из защищенного каталога, я бы сделал:

 "../../Includes/file.php" 

Все в порядке, но вот здесь мне становится сложно.

Если файл, который я пытаюсь импортировать (файл.php в каталоге Includes), ТАКЖЕ включает файл, он все выкинет. Скажем, что файл будет содержать файл в «Вход», он должен быть ОДИН из этих 2 включений, все в зависимости от того, включает ли он код в каталоге «Безопасный» или «Вид»:

 "../Login/file.php" -> if it was included from the View directory "../../Login/file.php" -> if it was included from the Secure directory. 

Очевидно, эта проблема только ухудшается и ухудшается. Может быть, то, что мне нужно, – это путь к тому, чтобы путь был относительно самого FILE, а не код?

На другой заметке, я думаю, что я действительно нахожусь, как обрабатывать все это, включая «ад» в PHP? Я чувствую, что я связываю свою структуру плотно и что я не могу сильно изменить, не нарушая все. Поэтому любые советы о том, как справиться с этим, очень ценятся.

Solutions Collecting From Web of "PHP и пути – относительно файла и не включая код"

Существует два типа путей: относительный и абсолютный. Абсолютные пути начинаются с /.. (или C:/.. или, однако, работает в Windows) и всегда однозначно указывают на один конкретный файл.

Относительные пути (не начиная с / ) относятся к переменной include_path . Это переменная, содержащая множество папок, где PHP будет искать ваш относительный путь. К этому include_path также относится . , текущий каталог. «Текущий» каталог зависит от того, какой файл был «первым», который должен быть выполнен. Таким образом, это зависит от того, какой файл начинает include других.

  1. Вы можете указать свой путь include_path к определенному, неизменному каталогу, поэтому у вас всегда есть фиксированный путь для включения относительно.
  2. Лучше: построить абсолютные пути:

     include __DIR__ . '/../Login/file.php'; 

    Это всегда относится к каталогу, в котором находится файл.