Bagaimana cara mendapatkan direktori upload file default drupal 7?

21

Saya mengalami masalah untuk mendapatkan unggahan directroy dari drupal. Apakah ada fungsi mengembalikan jalur relatif atau absolut?

Jurudocs
sumber
1
Pertimbangkan untuk menggunakan pembungkus ( public://,, private://dll untuk menghindari konflik folder. Manfaatkan Drupal 7 :))
AyeshK
Saya tahu ini bekerja dengan image_style_url (uri) tetapi saya ingin meneruskannya ke javascript sebagai variabel untuk pemrosesan lebih lanjut ... terima kasih
Jurudocs

Jawaban:

24

Informasi ini disimpan dalam tabel variabel Drupal. Gunakan variable_getfungsi ini untuk mendapatkan informasi ini, dengan menyebutkan nama variabel yang benar:

  • Lokasi Sistem File Publik :variable_get('file_public_path', conf_path() . '/files');
  • Lokasi Sistem File Pribadi :variable_get('file_private_path');

Jika Anda ingin menggunakan direktori unggah sementara variable_get('file_temporary_path');Jika Anda ingin menentukan direktori unggahan khusus sistem, terlepas dari konfigurasi situs yang sebenarnya, gunakan file_directory_tempfungsinya.

variable_get('file_public_path', conf_path() . '/files'); akan menarik jalur default untuk Anda seandainya belum dimodifikasi atau ditetapkan secara eksplisit oleh administrator situs.

9ee1
sumber
hmm dalam kasus saya variable_get ('file_public_path') kosong ... apakah saya harus menyebutnya di dalam sebuah kait atau lebih?
Jurudocs
1
@Jurudocs Gunakan ini sebagai gantinya: variable_get('file_public_path', conf_path() . '/files');Pada dasarnya, ini menarik jalur default untuk Anda seandainya belum dimodifikasi atau ditetapkan secara eksplisit oleh administrator situs.
9ee1
@ Zhilevan Periksa izin file Anda di direktori itu.
Atomox
Ini hanya memberikan jalur relatif yang tampaknya kurang bermanfaat daripada jalur absolut. Saya suka drupal_realpathsolusinya di bawah ini. Tampak lebih sah.
Alex Finnarn
11

Untuk mendapatkan jalur sistem file absolut, gunakan drupal_realpath (Drupal API) alih-alih file_create_url:

drupal_realpath('public://'); 
// returns e.g. /var/www/drupal/sites/default/files

drupal_realpath('private://');
// returns e.g. /var/www/drupal/sites/default/files_private
Michael Bolli
sumber
3

Anda juga dapat menggunakan fungsi-fungsi ini untuk mendapatkan url yang valid dari relatif uri:

file_create_url('public://');
file_create_url('private://');

Mereka mengembalikan jalur ke folder publik atau pribadi.

wranvaud
sumber