如何使用PHP包含的相对路径?

如何使用PHP包含的相对路径?,php,Php,我在学习PHP包含的相对路径时遇到问题 尝试在index.php中获取include语句,以在两个文件夹中的includes文件夹中查找footer.php 从我在这里读到的内容来看,我认为: include('../../_assets/includes/footer.php'); 我宁愿使用绝对路径,但也不能让它工作 找到了绝对URL路径 echo file_get_contents('http://www.mysite.com/_assets/includes/footer.php')

我在学习PHP包含的相对路径时遇到问题

尝试在index.php中获取include语句,以在两个文件夹中的includes文件夹中查找footer.php

从我在这里读到的内容来看,我认为:

include('../../_assets/includes/footer.php');
我宁愿使用绝对路径,但也不能让它工作


找到了绝对URL路径

echo file_get_contents('http://www.mysite.com/_assets/includes/footer.php');

工作正常。

要使用绝对路径,我建议您定义一个指向文档根的常量,例如:

define('PATH_SITE', '/path/to/www/');
或在Windows上:

define('PATH_SITE', 'C:\\path\\to\\www\\');
随后,您可以使用该路径获得正确的结果,包括:

include_once(PATH_SITE . 'assets/whatever.php');

或者,您可以使用内置的PHP变量
$\u SERVER['DOCUMENT\u ROOT']
,但我发现它在Windows服务器上是不稳定的

索引的相对路径。PHP就像您猜测的那样
。/../\u assets/includes/footer.PHP
,我不明白为什么这不起作用?尝试使用
echo getcwd()以查看当前工作目录。不要通过获取本地文件的URL来回显本地文件。您正在调度一个不必要的HTTP请求。这充其量是愚蠢的,最糟糕的是浪费了大量的时间和资源。@Charles,谢谢你的意见。我知道这不是最有效的做事方式。我是一个新手,我很惊讶它居然能工作,虽然echo被用来显示文本。该网站是有点混乱,基本上3个网站在一个,我需要一个中央文件夹的所有CSS和包括文件和一个很好的方式,以链接到他们从所有的网站,也能够有网站的工作在本地和服务器上。你能推荐一种更好的方法吗?那么我应该把define放在根文件夹中的一个php文件中吗?你可以把它放在第一个include开始的文件中(可能是
index.php
),这样它就可以在所有后续的include中使用