php вопрос включает в себя включенный файл - PullRequest
0 голосов
/ 07 сентября 2011

У меня проблема с включением включенного файла в PHP.

Проект

  • функции (папка) имеет a.php
  • xml (папка) имеетb.xml
  • index.php

Это структура моего проекта (извините, я не могу публиковать изображения).Я пытаюсь использовать " index.php " для включения " a.php ", в то время как " a.php " использует " b.xml"

это то, что я сделал на XAMPP, и он отлично работает:

в index.php Я написал: include 'functions / a.php';

in a.php Я написал: $ xml-> load (' xml / b.xml ') ;

Однако, если я скопирую их на сервер Apache Uni, он не сможет открыть этот b.xml.Это не разрешение, потому что когда я перехожу на абсолютный путь, это работает ...

Заранее спасибо, ребята: -)

Ответы [ 3 ]

1 голос
/ 07 сентября 2011

в a.php вы должны ссылаться на ../xml/b.xml, если вы используете include thing is, это зависит от того, когда определено $ xml-> load ().если это ваш собственный код, тогда укажите путь относительно определения.в противном случае «../xml/b.xml» должен работать.

вы всегда можете $ _SERVER ['DOCUMENT_ROOT'], но мне самому нравится определять каталоги как константы (с абсолютным путем) и использовать их вокругпроект.

define('DIR_ROOT', $_SERVER['DOCUMENT_ROOT'] . '/');
define('DIR_FUNCTIONS', DIR_ROOT . 'functions/');
define('DIR_XML', DIR_ROOT . 'xml/');
0 голосов
/ 07 сентября 2011

Это всегда лучше использовать абсолютные пути, даже если вам нужно его построить (например, $XML_PATH = $PATH_TO_BASE . 'xml/b.xml';)

Если вы не можете этого сделать, вам нужно добавить родителя xml вТвой путь.

0 голосов
/ 07 сентября 2011

Попробуйте использовать set_include_path(), чтобы задать путь включения для корневого каталога вашего приложения;тогда вы сможете включить файлы относительно этого пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...