尝试使用PHP查找嵌套目录的问题

时间:2011-12-04 16:08:18

标签: php include

我是一个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 个答案:

答案 0 :(得分:1)

尝试加载页面时会发生什么?你收到错误信息吗?一个空白页?别的什么?什么是目录结构以及文件名是什么?那些可以帮助我们为你写一个例子。

当您包含文件(或以其他方式遍历目录)时,“..”表示“向上一级”。

如果我们正在运行index.php,并且您想要包含other.php,那么只需:     包括( 'other.php');

如果您想要Subdirectory1中的文件,您可以使用:     包括( 'Subdirectory1 / some_file.php');

如果您在Subdirectory1 / some_file.php中并且想要包含other.php,那么您可以使用以下目录:     包括( “../ other.php”);

如果您在Subdirectory1 / some_file.php中,并且想要包含Subdirectory2中的yet_another_file.php,您将:     包括( “../ Subdirectory2 / yet_another_file.php”);

希望这有帮助。

答案 1 :(得分:1)

我建议运行以下脚本:

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

这将帮助您了解$ _SERVER ['DOCUMENT_ROOT']在服务器上的含义。有时它有一个尾随/有时您需要自己提供(这是使用DocumentRoot指令在Apache的配置中设置的。)

您可能还有权限问题,因此请确保Apache对您尝试包含的文件具有读取权限。