Frage

Innerhalb eines Drupal-Modul Ich brauche den Basispfad zu erhalten, wo die Drupal-Seite installiert ist.

Zum Beispiel, wenn die Drupal-Seite bei installiert: www.example.com/mysite/ dann will ich bekommen '/ Var / www / myseite'

Wenn es installiert ist, in: www.example.com/ dann möchte ich '/ Var / www'

Was ist der richtige Weg, dies Drupal zu bekommen? Ich möchte PHP-Server-Variablen zu vermeiden, wie ich lesen sie sind unzuverlässig.

(Drupal 6 und Drupal 7)

War es hilfreich?

Lösung

In Drupal 7 gibt es eine neue Konstante genannt DRUPAL_ROOT , die Sie für diese verwenden können.

Andere Tipps

Um die komplette Dokument Wurzel des Dateisystems I Nutzung zu erhalten:

$_SERVER['DOCUMENT_ROOT'] . base_path()

Auf einem Linux-Server werden Sie so etwas wie bekommen:

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

Wenn Sie nur "base_path ()" verwenden, erhalten Sie nur:

/mysite/

Samt auf Drupal 6 und 7.

Zusatz Scott Reynen Antwort:

In der page.tpl.php Vorlage, es ist auch in der $base_path Variable zur Verfügung.

In vielen Fällen brauchen Sie nicht einmal den Basispfad kennen, weil die Drupal-API-Funktionen, es selbst hinzufügen. Zum Beispiel einen Link zu drucken, können Sie dies tun:

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

Aber der "Drupal Weg", es zu tun ist, um die l () Funktion zu verwenden:

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

l () -Funktion wird den Basispfad zum href automatisch hinzuzufügen.

base_path () tut dies sowohl D6 und D7.

Sie können DRUPAL_ROOT Konstante für diese verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top