如何为PHP includes使用相对路径


How do I use relative paths for PHP includes?

我在学习PHP includes的相对路径时遇到问题。

试图在index.php中获取include语句以在_assets中的includes文件夹中查找footer.php需要两个文件夹。

从我在SO上读到的内容来看,我认为这将是:

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变量$_SERVER['DOCUMENT_ROOT'],但我看到它在Windows服务器

上很不稳定