2011-01-11 5 views
1

Eigentlich kann ich ein Verzeichnis erstellen = mkdir.
Allerdings muss ich einen vollständigen absoluten Pfad auf dem Server übergeben, und ich weiß nicht, wie Sie den relevanten Pfad in hook_install erhalten.
Ich habe versucht mit base_path(), aber es gab "/" zurück.Wie erstelle ich ein Verzeichnis von hook_install eines Moduls in Drupal 7?

Der Pfad, den ich will, ist Sites/Standard/Dateien (innerhalb "Dateien" Ich erstelle das Verzeichnis).

Danke.

Antwort

-1

Haben Sie versucht mkdir('sites/default/files/yourdir')? Wenn ja, wo erstellt das das Verzeichnis? Wenn nicht, warum nicht?

Relative Verzeichnisnamen werden basierend auf dem Arbeitsverzeichnis aufgelöst. Das Arbeitsverzeichnis in Drupal ist normalerweise das Verzeichnis, in dem sich Ihre install.php und index.php befindet.

+1

Ich habe gerade mkdir ('sites/default/files/mydir') wie du gesagt hast, und es hat funktioniert, wie ich wollte. Danke – Doron

+1

die richtige Antwort ist, dass die richtigen APIs verwendet – xger86x

+0

dies wird nicht funktionieren, wenn das Modul nicht in der Standard-Site verwendet wird. Drupal 7 ist Multi-Site-fähig, und diese Lösung trifft Annahmen, dass es auf der Standard-Site funktioniert. –

9

Bitte verwenden Sie die richtigen APIs.

$directory = file_default_scheme() . '://yourdir'; 
file_prepare_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS); 
Verwandte Themen