因此,我的页面由多个包含组成,例如head.php
文件,footer.php
文件等。
我用下面的代码包含它们:
<?php include '/includes/head.php' ?>
问题是,它只适用于'include '目录以上的文件,因为开始斜杠在PHP中不会进入站点的根目录。
无论当前.php文件位于何处,我如何包含所有文件?
你应该考虑使用realpath()
。
在大多数MVC应用程序中,他们有这样的东西:
DEFINE('ROOT_DIR', realpath(dirname(__FILE__)) . '/');
set in their index.php
。由于所有流量都经过index.php
文件,因此定义将在那里。
允许你做这样的事情:
include(ROOT_DIR. 'includes/head.php');
它为你省去了很多的麻烦和重写。
还有其他的选项,你可以把它存储在一个配置中,实际上做同样的事情。
As stated in the comments by Dave Chan
你也可以使用auto_prepend_file如果你希望ROOT_DIR可以访问每一个。php启用的页面
要进入父目录,请尝试添加../放在字符串的开头,例如:
包括". ./包括/head.php";