اجبار کاربر به دانلود فایل در مرورگر

اجبار کاربر به دانلود فایل در مرورگر

گاهاً پس از راه‌‌‌‌اندازی وبسایت، قصد ارائه فایلی به بازدیدکنندگان وبسایت دارید. این فایل می‌تواند یک فایل متنی، صوتی و یا ویدئویی باشد. شما می‌توانید تعیین کنید که واکنش مرورگر کاربر به هنگام مواجهه با این فایل چگونه باشد. اینکه این فایل را در مرورگر باز کند، مثلا فایل ویدئویی را اجرا کند و یا اقدام به دانلود فایل کند. چیزی که قرار است در این مقاله توضیح دهیم، همان مورد دوم است؛ یعنی اینکه قصد داریم کاربر فایل را دانلود کرده و یک نسخه از آن را در سیستمش ذخیره نماید. برای انجام این کار نیازمند افزودن چند خط کد به فایل .htaccess هستیم. در ادامه به شرح انجام این کار می‌پردازیم.

دانلود اجباری فایل از طریق .htaccess

با انجام موارد زیر، از طریق فایل .htaccess می‌توان مرورگر را اجبار به دانلود فایل با پسوند خاص کرد:

1- فایل .htaccess را یافته و جهت ویرایش باز کنید.

در صورت عدم اطلاع از مسیر قرارگیری فایل .htaccess و استفاده از پنل مدیریتی cPanel، این راهنما را مطالعه کنید.

2- کد زیر را در فایل .htaaccess قرار دهید. این کد موجب می‌شود تا بازدیدکننده آن نوع فایل را دانلود کند. برای دانلود هر نوع  فایل با پسوند خاص لازم است یک خط کد در فایل .htaccess قرار دهید. در این مقاله ما بازدیدکننده را ملزم به دانلود فایل‌های ویدئویی با پسوند .mov و فایل‌های متنی و سندی با پسوند .pdf و .doc می‌کنیم:

AddType application/octet-stream .mov
AddType application/octet-stream .pdf
AddType application/octet-stream .doc

 

اجبار به دانلود فایل‌ مورد نظر از طریق کدهای PHP

مورد فوق تنها موجب می‌شد تا گروهی از فایل‌ها با پسوند‌های خاص دانلود شوند. از طریق کدهای PHP می‌توانید (ضمن تغییر HTTP Headers) موجب دانلود فایل مورد نظر از طریق مرورگر کاربر شوید. پس به این وسیله Browser کاربر را ملزم به دانلود فایل به جای لود یا نمایش آن می‌کنید. این روش برای فایل‌های نظیر PDF، فایل‌های Document، تصاویر و فایل‌های ویدئویی که تمایل دارید کاربر به جای مشاهده‌ی آن‌ها دریافتشان کند، بسیار مناسب است. با استفاده از PHP می‌توانید از مزیت این تابع بهره ببرید:

$file_url = 'http://www.example.com/file.pdf';
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url)
exit();

در خط دوم با تعریف Content-Type، مرورگر مجبور به دانلود فایل می‌شود. در خط چهارم با استفاده از Content-disposition، اسم فایل جهت ذخیره ارسال می‌گردد. در نهایت در خط پنجم خروجی نهایی جهت شروع دانلود ایجاد می‌شود.

  • .htaccess, دانلود اجباری فایل در سایت, Forcing a file to download in a browser, بارگیری اجباری فایل, دانلود فایل با پسوند خاص در وبسایت
  • 10 کاربر این را مفید دانستند
آیا این آموزش به شما کمک کرد؟

مقالات مربوطه

نحوه‌ی یافتن فایل htaccess

در این مقاله نحوه‌ی یافتن و ویرایش فایل .htaccess را در سی‌پنل شرح می‌دهیم. .htaccess چیست؟...

ارجاع اجباری وبسایت به آدرس دامنه با www یا بدون www

بسیاری از کاربران و مدیران وبسایت خواستار باز شدن وبسایتشان با یا بدون www در ابتدای آدرس آن...

ارجاع آدرس وبسایت از HTTPS به HTTP

در برخی از موقعیت‌های خاص نیاز به باز شدن وبسایتتان تنها با پروتکل HTTP دارید. جهت ارجاع دامنه‌ی...

ارجاع آدرس وبسایت از HTTP به HTTPS

در صورتی که وبسایت شما دارای گواهی‌نامه‌ی SSL می‌باشد، شما می‌توانید بازدیدکنندگان آن را به آدرس...

نحوه‌ی ارجاع صفحات و فایل‌های وبسایت بدون کاهش رنک SEO

در این مقاله ضمن ذکر نام دیگر این نوع ارجاع، انواع ریدایرکت به همراه روش انجام آن را شرح می‌دهیم:...