質問のように。モジュール関数内でdrupal_realpath('public://')
を呼び出しています。なぜ私は次のようなパスを取得しているのか分かりません:sites/all/modules/current_module/sites/default/files
、例:.
C:\ drupal_path\sites\all\modules [current_module]\sites\default\files
drupal_realpath()
は非推奨であり、使用すべきではありません。ストリームラッパーURIがあるので、次のように正しいパスを取得できるはずです。
$uri = 'public://';
if ($wrapper = file_stream_wrapper_get_instance_by_uri($uri)) {
$path = $wrapper->realpath();
}
また、UIのパブリックパスが正しいことを確認してください(admin/config/media/file-system)。
Cliveのanwserに加えて:
$path = $wrapper->getExternalUrl();
代わりに:
$path = $wrapper->realpath();
私のために働いた、私は間違った道で同じ問題を抱えていました。
DrupalはPHPのファイルストリームを使用し、パスはこの場所で構成されます
admin/config/media/file-system
好きなところに変更できます