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?


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.


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

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.