获取Drupal安装文档根目录的正确方法是什么?

时间:2010-10-18 03:26:41

标签: php drupal drupal-6 drupal-7

在Drupal模块内部,我需要获取安装Drupal站点的基本路径。

例如,如果drupal站点安装在: www.example.com/mysite/ 然后我想得到 '/无功/网络/ myseite'

如果安装在: www.example.com/ 然后我想要 '/无功/网络'

Drupal的正确方法是什么?我想避免PHP的服务器变量,因为我读到它们是不可靠的。

(Drupal 6和Drupal 7)

5 个答案:

答案 0 :(得分:11)

在Drupal 7中,有一个名为DRUPAL_ROOT的新常量可供您使用。

答案 1 :(得分:5)

要获取我使用的文件系统的完整文档根目录:

$_SERVER['DOCUMENT_ROOT'] . base_path()

在Linux服务器上,你会得到类似的东西:

/var/www/html/www.example.com/mysite/

如果您只使用“base_path()”,则只能获得:

/mysite/

Drupal 6和7也是如此。

答案 2 :(得分:2)

除了Scott Reynen的回答:

在page.tpl.php模板中,它也可以在$base_path变量中使用。

在许多情况下,您甚至不需要知道基本路径,因为Drupal API函数会自行添加它。例如,要打印链接,您可以这样做:

<?php print '<a href="' . base_path() . 'foo/bar">Foo Bar</a>'; ?>

但是“Drupal方式”是使用l()函数:

<?php print l('Foo Bar', 'foo/bar'); ?>

l()函数会自动将基本路径添加到href。

答案 3 :(得分:1)

base_path()在D6和D7都这样做。

答案 4 :(得分:0)

您可以使用DRUPAL_ROOT常量。