回答:
Drupal 7
これは2つの部分からなるプロセスでfile_load()
あり、file_create_url()
最初に、$ fidをDrupal URIに変換する必要があります。
$file = file_load($fid);
$uri = $file->uri;
これで、これをURLに変えることができます
$url = file_create_url($uri);
file_create_url()
$base_path
定義したグローバルを使用するか、Drupalがブートストラップ中に推測したグローバルを使用して、常に絶対URLを作成します。
$file = \Drupal\file\Entity\File::load($file_id);
$uri = $file->getFileUri();
$url = \Drupal\Core\Url::fromUri(file_create_url($uri))->toString();
これらは両方ともDrupal 8で機能しています。
// top of file
use Drupal\file\Entity\File;
use Drupal\Core\Url;
// load the file object from some file id
$file_object = File::load(123);
// way 1
$file_uri = $file_object->uri->value;
$file_url = file_create_url($file_uri);
// way 2
$file_uri = $file_object->getFileUri();
$file_url = Url::fromUri(file_create_url($file_uri))->toString();