Почему мой php включает return, "не удалось открыть поток: нет такого файла или каталога в ..." - PullRequest
0 голосов
/ 29 октября 2010

Я использую простые включаемые файлы для общих элементов на основном статическом веб-сайте.Я делаю так, как это

<?php include('/inc/header.php'); ?>

Но это не сработает, пока я не удалю косую черту, а затем она будет работать только на страницах в корневом каталоге.Что я делаю не так?

Ответы [ 4 ]

3 голосов
/ 29 октября 2010

/... - это абсолютный путь в системах Unix.Чтобы указать относительный путь, используйте ./....Это будет относительно каталога вызываемого файла.

2 голосов
/ 29 октября 2010

'/' означает корневой каталог реального сервера, а не корневой веб-документ. Если вам нужна переместимость, используйте:

 include("{$_SERVER['DOCUMENT_ROOT']}/inc/header.php");
0 голосов
/ 09 марта 2013

Используйте это решение

Я также столкнулся с той же проблемой Предупреждение: include (/test/assets/header.php) [function.include]: не удалось открыть поток: нет такого файлаили каталог

Предупреждение: include () [function.include]: не удалось открыть файл /test/assets/header.php для включения (include_path = '.: / usr / local / lib / php: / usr/ local / php5 / lib / pear ')

Но я решаю их после поиска по Google в 2 днях.

Решение: тогда вам нужно определить свой путьиспользуйте функцию include в качестве удара:

define (DOC_ROOT_PATH, $ _SERVER ['DOCUMENT_ROOT']. '/');

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

0 голосов
/ 29 октября 2010

У вас есть абсолютный путь - т.е. начинается с /.Таким образом, он ищет в корне вашего сервера.

Без косой черты он является относительным путем и будет выглядеть относительно пути к файлу PHP.

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