Drupal 8またはDrupal 9)でURIによってファイルをロードする方法はありますか?
Drupal 7では、次の例で可能です。
$uri = 'public://file.xyz';
// Take a look at: file.inc::file_load_multiple
$files = file_load_multiple(array(), array('uri' => $uri));
$file = reset($files); // If empty, $file will be false, otherwise will contain the required file
\Drupal\Core\Entity\EntityStorageInterface
にはloadByProperties
メソッドがあり、指定したファイルURIでファイルエンティティを検索する際に必要な条件を定義できます。
/* @var \Drupal\file\FileInterface[] $files */
$files = \Drupal::entityTypeManager()
->getStorage('file')
->loadByProperties(['uri' => $uri]);