我是一个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
...即使文件存在。
答案 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对您尝试包含的文件具有读取权限。