web-dev-qa-db-ja.com

drupal 7デフォルトのファイルアップロードディレクトリを取得する方法

Drupalからアップロードディレクトリを取得できません。相対パスまたは絶対パスを返す関数はありますか?

20
Jurudocs

この情報は、Drupalの変数テーブルに保存されます。 _variable_get_関数を使用してこの情報を取得し、正しい変数の名前を渡します。

  • 公開ファイルシステムの場所variable_get('file_public_path', conf_path() . '/files');
  • プライベートファイルシステムの場所variable_get('file_private_path');

一時的なアップロードディレクトリが必要な場合はvariable_get('file_temporary_path');を使用します。システム固有のアップロードディレクトリを決定する場合は、実際のサイト構成に関係なく、_file_directory_temp_関数を使用します。

variable_get('file_public_path', conf_path() . '/files');は、サイト管理者によって変更または明示的に設定されていない場合に備えて、デフォルトパスをプルします。

24
9ee1

絶対ファイルシステムパスを取得するには、drupal_realpathの代わりにfile_create_url(Drupal API) を使用します。

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
11
Michael Bolli

これらの関数を使用して、相対URIから有効なURLを取得することもできます。

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

パブリックまたはプライベートフォルダーへのパスを返します。

3
wranvaud