2014-12-13 2 views
0

У меня есть две папки в моей папке проекта, как это:Как обратиться к файлу в ближайшем папке

-my project folder 
     -folder1 
       file1.php 
     -folder2 
       file2.php 

в file1.php я хочу импортировать file2.php, так что я пишу это:

include_once '../folder2/file2.php'; 

но это покажет мне ошибку:

include_once(../folder2/file2.php): failed to open stream: No such file or directory

Что такое решение?

ОТВЕТ:

include_once(__DIR__ . ".\..\folder2\file2.php"); 

Я хочу, чтобы это причина?

+0

Скрипт вызова (index.php) обычно определяет текущий рабочий каталог, к которому все включают вызовы, должен быть относительно. – mario

+0

Вы называете 'file1.php' или файл' file1.php' также включается в другой файл? – Rizier123

+0

в файле в корневой папке проекта Я включаю 'file1.php' и в' file1.php'. Я пытаюсь включить 'file2.php', с которым я столкнулся с ошибкой – Ehsan

ответ

1

Попробуйте это:

include_once(dirname(__FILE__) . "../folder2/file2.php"); 

Или (с PHP 5.3):

include_once(__DIR__ . "../folder2/file2.php"); 

механизм РНР include поиск файлов из "текущего каталога" зрения вместо "текущего каталога файла". В общем, «текущий каталог» является основным файлом (например, index.php). Вы можете изменить его, вызвав chdir() или некоторые связанные функции. dirname(__FILE__) (или __DIR__) означает «каталог текущего файла».

Другим возможным решением является, когда вы определяете корневую папку, и включают в себя все относительно этого:

В index.php:

define('ROOT_DIR', __DIR__); 

Везде:

include(ROOT_DIR . "somedir/somefile.php"); 

You может также использовать $_SERVER["DOCUMENT_ROOT"], но я не рекомендую это делать.

В больших проектах рекомендуется программировать с помощью ООП. С объектно-ориентированным кодом вы можете использовать autoloading.

+0

, он работает с:' include_once (__ DIR__... .. \ folder2 \ file2.php ");' и я не причина? – Ehsan

+0

Рекомендуется использовать '/' (slash) (или, в некоторых случаях, константу 'DIRECTORY_SEPARATOR') вместо' \\ '(обратная косая черта) - независимо от системы. –

Смежные вопросы