Php包含和重定向

时间:2012-10-08 17:58:26

标签: php redirect include

我一直在徘徊一段时间试图摆脱这个问题。

我有一个php软件,我想知道脚本的执行位置。

e.g。

我有/foo/bar/home.php。在这种情况下,我想知道/ foo / bar是我的根。但是,如果我有一个示例管理页面/foo/bar/admin/index.php我也希望在这种情况下有/ foo / bar。 或

/foo/bar/foo/index.php - > /富/酒吧/富 /foo/bar/foo/randomname/home.php - > /富/酒吧/富

我该如何实现?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您可以访问$_SERVER超全局变量的属性。

echo $_SERVER['DOCUMENT_ROOT'];

以下内容如果位于“/foo/bar/foo/index.php”中,则会回显/foo/bar/foo/

答案 1 :(得分:1)

因为/foo/bar听起来并不像我的文件系统路径,所以我认为这是URL路径的第一部分。

应用程序如何知道此前缀适用于所有内容?它必须安装在某处,如果不应用重写,则文件系统路径布局和URL路径布局在某种程度上匹配。这可能用于通过减去一些字符串来实际生成路径信息,但我怀疑它是否有用。

我选择在一个包含在任何地方的文件中定义一个常量“INSTALL_PATH”和/或“INSTALL_URL”,它知道它与基本URL或文件路径的相对位置,并进行简单的字符串操作:

define('INSTALL_PATH', basename(__DIR__); // go one level up