2011-12-31 1 views
4

Я написал веб-сайт в формате HTML, но затем мне захотелось, чтобы заголовок и навигация были в одном файле, поэтому мне просто нужно было его один раз изменить. Я изменил все страницы на .php и добавил php. Однако теперь я получаю сообщение об ошибке на страницах, которые я помещал в папки, чтобы я мог создавать беспорядочные ссылки.PHP include - не удалось открыть поток: нет такого файла

Заголовок файла: /test/assets/header.php

работы: /test/index.php содержит <?php include 'assets/header.php'; ?>

Выдает Error: /test/company/index.php содержит <?php include '/test/assets/header.php'; ?>

Ошибка:

Warning: include(/test/assets/header.php) [function.include]: failed to open stream: No such file or directory 

Warning: include() [function.include]: Failed opening '/test/assets/header.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') 

У меня возникли проблемы, связывающую в файл заголовка который находится в папке в корневой папке. Я считаю, что это простая проблема, просто не зная, как вводить URL. Если я попытаюсь включить полный путь к header.php, то я получу ошибку URL file-access is disabled

+0

Часто возникает эта ошибка и для быстрого устранения неполадок выполните следующие действия: https://stackoverflow.com/a/36577021/2873507 –

+0

Возможный дубликат [Не удалось открыть поток: нет такого файла или каталога] (http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such-file-or-directory) –

ответ

10

Если вы начинаете путь с /, то это абсолютный путь. Абсолютная сеть в настоящий корневой каталог файловой системы, а не виртуальный document root. Вот почему он терпит неудачу.

Обычно это то, что предназначалось:

include "$_SERVER[DOCUMENT_ROOT]/test/assets/header.php"; 
// Note: array key quotes only absent in double quotes context 
+0

Ниже приведен список контрольных вопросов для устранения этой частой ошибки: https://stackoverflow.com/a/36577021/2873507 –

0

Это не a URL; это путь к файлу (хотя вы можете использовать полные URL-адреса, когда это разрешает конфигурация сервера).

+0

Ниже приведен список контрольных вопросов для устранения этой частой ошибки: https://stackoverflow.com/a/36577021/2873507 –

4

Я также сталкиваюсь с тем же предупреждением:

Warning: include(/test/assets/header.php) [function.include]: failed to open stream: No such file or directory 
Warning: include() [function.include]: Failed opening '/test/assets/header.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') 

Я решил их следующий раствор:

Вы должны определить свой путь затем использовать функцию, как показано ниже:

define('DOC_ROOT_PATH', $_SERVER['DOCUMENT_ROOT'].'/'); 
require DOC_ROOT_PATH . "../includes/pagedresults.php"; 

После этого вы можете использовать любую структуру каталогов.

+0

'Уведомление: Использование неопределенной константы DOC_ROOT_PATH - предполагаемый 'DOC_ROOT_PATH'' * * используйте 'DOC_ROOT_PATH' вместо' 'DOC_ROOT_PATH'' ** – Elshan

+0

Теперь есть контрольный список для устранения неполадок для t его частая ошибка здесь: https://stackoverflow.com/a/36577021/2873507 –

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