Drupal 8.でExcel読み取りモジュールを作成しています。public://2016-03/Places.xlsのようなパスからファイルを読み取るために、ファイルの実際のパスを取得したいのですが。
ファイルの実際のパスを取得するには、どの関数を呼び出す必要がありますか?
最後に、Drupalコードを掘り下げることで解決策を得ました。
file_systemサービスを使用して、実際のパスまたは絶対パスを取得できます。
$absolute_path = \Drupal::service('file_system')->realpath('public://2016-03/Places_2.xlsx');
@Nisamの答えは正しかったが、現在は非推奨になっている: function drupal_realpath
非推奨
Drupal 8.0.x-devの前に削除されますDrupal 9.0.0。\ Drupal\Core\File\FileSystem :: realpath()を使用します。
したがって、 FileSystem :: realpath を使用する必要があります。
例:
$file = File::load($file_id);
$uri = $file->getFileUri();
$stream_wrapper_manager = \Drupal::service('stream_wrapper_manager')->getViaUri($uri);
$file_path = $stream_wrapper_manager->realpath();