无论页面位于何处,PHP Include始终指向相同的位置

时间:2014-07-22 01:22:26

标签: php html

因此,我的页面包含多个包含,例如head.php文件,footer.php等。

我使用此代码包含它们:

<?php include '/includes/head.php' ?>

问题是,它仅适用于&#39;包含&#39;之上的文件。目录,因为起始斜杠不会以PHP格式转到站点的根目录。

无论目前的.php文件位于何处,我将如何包含所有文件?

2 个答案:

答案 0 :(得分:1)

您应该考虑使用realpath()

在大多数MVC应用程序中,它们都是这样的:

DEFINE('ROOT_DIR', realpath(dirname(__FILE__)) . '/');

index.php中设置。由于所有流量都通过index.php文件,因此定义将在那里。

允许你做这样的事情:

include(ROOT_DIR. 'includes/head.php');

它为您节省了很多很多的麻烦和重写。

还有其他选项可以将它存储在配置中,这几乎可以做同样的事情。


As stated in the comments by Dave Chan

  

如果您希望每个启用.PHP的页面都可以访问ROOT_DIR,您也可以使用auto_prepend_file

答案 1 :(得分:0)

要点击父目录,请尝试在字符串的开头添加../,例如:

包括'../ includes / head.php';