Проблемы при попытке найти вложенный каталог с помощью PHP - PullRequest
0 голосов
/ 04 декабря 2011

Я немного новичок в PHP, но я пытаюсь поместить некоторые включаемые файлы в папку для аккуратности.Я уже был полностью озадачен всей этой корневой директорией (я попробовал $_SERVER['DOCUMENT_ROOT'] и не смог заставить это работать), но я запутался, почему include("../includes/sidebar.php"); тоже не работает.Я могу сделать ../sidebar.php, поэтому подъем в каталог работает, но переход в другой каталог не выполняется.

Не знаю почему, я искал много форумов и не нашел ответов...

Кстати, это на сервере Linux (streamline.net) - не знаю ничего, кроме этого!

РЕДАКТИРОВАТЬ: Извините, я должен был опубликовать некоторые ответы сервера.Если я попытаюсь <?php include("../includes/sidebar.php"); ?> получить эту ошибку:

Warning: include(../includes/sidebar.php) [function.include]: failed to open stream: No such file or directory in /home/fhlinux162/u/___.org.uk/user/htdocs/ufradio/test.php on line 1

Warning: include(../includes/sidebar.php) [function.include]: failed to open stream: No such file or directory in /home/fhlinux162/u/___.org.uk/user/htdocs/ufradio/test.php on line 1

Warning: include() [function.include]: Failed opening '../includes/sidebar.php' for inclusion (include_path='.:/usr/share/pear-php5') in /home/fhlinux162/u/___.org.uk/user/htdocs/ufradio/test.php on line 1

... даже если файл существует.

Ответы [ 2 ]

1 голос
/ 04 декабря 2011

Я бы порекомендовал запустить следующий скрипт:

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

Это поможет вам понять, что именно $ _SERVER ['DOCUMENT_ROOT'] означает на вашем сервере. Иногда он имеет конечный символ /, а иногда вам нужно предоставить его самостоятельно (это задается в конфигурации Apache с помощью директивы DocumentRoot.)

У вас также может быть проблема с разрешениями, поэтому убедитесь, что у Apache есть доступ на чтение к файлам, которые вы пытаетесь включить.

1 голос
/ 04 декабря 2011

Что происходит, когда вы пытаетесь загрузить страницу? Вы получаете сообщение об ошибке? Пустая страница? Что-то другое? Какова структура каталогов и каковы имена файлов? Это поможет нам написать пример для вас.

Когда вы включаете файлы (или иным образом пересекаете каталоги), «..» означает «на уровень выше».

Если мы запускаем index.php и вы хотите включить other.php, просто выполните: включают в себя ( 'other.php');

Если вы хотите файл внутри Subdirectory1, вы должны использовать: включают в себя ( 'Subdirectory1 / some_file.php');

Если бы вы были в Subdirectory1 / some_file.php и хотели включить other.php, вы бы поднялись в каталог, например: включают в себя ( "../ other.php");

И если вы находитесь в Subdirectory1 / some_file.php и хотите включить в файл Sub_irectory2 все еще_another_file.php, вы должны: включают в себя ( "../ Subdirectory2 / yet_another_file.php");

Надеюсь, это поможет.

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