Drupal 7 varsayılan dosya yükleme dizini nasıl alınır?


21

Upload directroy'u drupal'dan almakta zorlanıyorum. Göreceli veya mutlak yolu döndüren bir işlev var mı?


1
Herhangi bir klasör çakışmasını önlemek için sarmalayıcıları kullanmayı düşünün ( public://, private://vb. Drupal 7 :) 'den yararlanın)
AyeshK

Bunun image_style_url (uri) ile çalıştığını biliyorum ama daha sonraki işlemler için değişken olarak javascript'e geçirmek istiyorum ... teşekkürler
Jurudocs

Yanıtlar:


24

Bu bilgi Drupal'ın değişken tablosuna kaydedilir. variable_getBu bilgiyi almak için doğru değişkenin ismini kullanarak işlevi kullanın :

  • Genel Dosya Sistemi Konumu :variable_get('file_public_path', conf_path() . '/files');
  • Özel Dosya Sistemi Konumu :variable_get('file_private_path');

Geçici yükleme dizinini kullanmak variable_get('file_temporary_path');istiyorsanız, sisteme özgü yükleme dizinini belirlemek istiyorsanız, gerçek site yapılandırmasından bağımsız olarak bu file_directory_tempişlevi kullanın .

variable_get('file_public_path', conf_path() . '/files'); değiştirilmemesi veya site yöneticisi tarafından açıkça ayarlanması durumunda sizin için varsayılan yolu seçer.


hmm benim durumumda değişken_get ('file_public_path') boş ... bir kanca içinde çağırmalı mıyım?
Jurudocs

1
@Jurudocs Bunu yerine kullanın: variable_get('file_public_path', conf_path() . '/files');Temel olarak, site yöneticisi tarafından değiştirilmemiş veya açıkça ayarlanmamış olması durumunda sizin için varsayılan yolu çeker.
9ee1

@zhilevan Bu dizindeki dosya izinlerinizi kontrol edin.
Atomox

Bu sadece mutlak yoldan daha az kullanışlı görünen göreceli yolu verir. drupal_realpathAşağıdaki çözümü seviyorum . Daha yasal görünüyor.
Alex Finnarn

11

Mutlak dosya sistemi yollarını almak için yerine drupal_realpath (Drupal API) kullanın 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

Bu işlevleri, göreceli bir uri'den geçerli bir URL almak için de kullanabilirsiniz:

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

Yolu ortak veya özel klasörlere döndürürler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.