উত্তর:
দ্রুপাল 7
এটি একটি দুটি অংশ প্রক্রিয়া, file_load()
এবং ব্যবহার করেfile_create_url()
প্রথমত, আপনাকে $ ফিডটিকে একটি দ্রুপাল ইউআরআইতে রূপান্তর করতে হবে:
$file = file_load($fid);
$uri = $file->uri;
এখন, আপনি এটি একটি URL এ রূপান্তর করতে পারেন
$url = file_create_url($uri);
file_create_url()
$base_path
আপনার সংজ্ঞায়িত গ্লোবালটি ব্যবহার করে বা বুটস্ট্র্যাপের সময় ড্রুপাল অনুমান করেছিলেন এমন একটি ব্যবহার করে সর্বদা একটি নিখুঁত URL তৈরি করে ।
$file = \Drupal\file\Entity\File::load($file_id);
$uri = $file->getFileUri();
$url = \Drupal\Core\Url::fromUri(file_create_url($uri))->toString();
ড্রুপাল 7-এ আপনি ফাইলের সমস্ত ক্ষেত্র লোড করতে না চাইলে আপনি MYSQL কোয়েরিও ব্যবহার করতে পারেন
$ ফিড = 1; // আপনার ফাইল আইডি $ uri = db_select ('file_managed', 'f') -> শর্ত ('f.fid', $ fid, '=') -> ক্ষেত্র ('চ', অ্যারে ('ইউরি')) -> চালানো () -> fetchField (); প্রতিধ্বনি ফাইল_সৃজন_আরল ($ ইউরি);
এই দুজনই আমার জন্য ড্রুপাল 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();