كيفية استخدام PHP لفرض تنزيل الملف

عندما تفكر في ذلك ، تعتبر متصفحات الويب مفاخر مدهشة للبرامج المعقدة. إنها أدوات تشكل جزءًا من حياتنا اليومية - تستخدم لكل شيء بدءًا من التحقق من حالة الأصدقاء والعائلة ، إلى التواصل مع هؤلاء الأشخاص ، إلى الشراء ، ومشاهدة مقاطع الفيديو ، والعناية بحياةنا المالية ، والكثير أكثر من. نظرًا لأن المتصفحات شائعة في حياتنا ، فإن الواقع هو أن معظم الناس لا يقدرون مدى فائدتها.

خلف الكواليس

هناك شيء واحد تفعله المتصفحات من وراء الكواليس هو محاولة إجراء جميع النقرات التي يقوم بها شخص ما أثناء جلسة تصفح فعل شيء ما. وهذا يعني أنه يمكن فتح المزيد والمزيد من أنواع الملفات للعرض مباشرة في متصفحات الويب.

في معظم الأحيان ، يعد هذا أمرًا جيدًا ، حيث قد يكون من المحبط جدًا النقر فوق ارتباط إلى مستند تريد قراءته ، ثم عليك الانتظار حتى يتم تنزيله ثم فتحه في النهاية على جهاز الكمبيوتر. يصل هذا الإحباط إلى المستوى التالي عند انتظار هذا التنزيل ، ليكتشف أنه ليس لديك البرنامج المناسب لفتح المستند. في هذه الأيام ، نادرًا ما يحدث ذلك لأن المتصفحات تقوم بالفعل بعرض المستند بشكل مباشر. على سبيل المثال ، لا يتم تنزيل ملفات PDF بشكل افتراضي. بدلاً من ذلك ، يتم عرضها مباشرةً في متصفح الويب على نحو مشابه لطريقة عرض صفحة الويب.

ماذا لو كان لديك ملف تريد أن يقوم المستخدمون بتنزيله بدلاً من عرضه مباشرة في متصفح الويب؟

إذا كان ملف HTML أو ملف PDF ، لا يمكنك نشر رابط إلى ذلك المستند (لأننا قد غطينا للتو) ، يفتح متصفح الويب هذه المستندات تلقائيًا ويعرضها مضمنة. لجعل تحميل هذه الملفات إلى جهاز كمبيوتر شخص ، تحتاج بدلا من ذلك إلى القيام ببعض الخدعة باستخدام PHP.

يتيح لك PHP تغيير رؤوس HTTP للملفات التي تكتبها.

هذه العملية تجعله حتى تتمكن من تحميل ملف يتم تحميله عادةً في نفس النافذة. هذا مثالي لملفات مثل ملفات PDF وملفات المستندات والصور ومقاطع الفيديو التي تريد أن يقوم عملاؤك بتنزيلها بدلاً من استهلاكها عبر الإنترنت مباشرة من المستعرض.

ستحتاج إلى PHP على خادم الويب حيث ستتم استضافة ملفاتك ، وملف يتم تنزيله ، ونوع MIME للملف المطلوب.

كيف نفعل ذلك

  1. قم بتحميل الملف الذي تريد إتاحته للتنزيل على خادم الويب الخاص بك. على سبيل المثال ، لنفترض أنك تمتلك ملف PDF تريد من الأشخاص تنزيله عند النقر على رابط. ستقوم أولاً بتحميل هذا الملف إلى بيئة الاستضافة لموقع الويب الخاص بك.
    huge_document.pdf
  2. قم بتحرير ملف PHP جديد في محرر الويب الخاص بك - لسهولة الاستخدام ، نوصي بتسمية الاسم نفسه للملف الذي تم تنزيله ، فقط بالامتداد .php. فمثلا:
    huge_document.php
  3. افتح كتلة PHP في المستند الخاص بك:
    <؟ PHP
  4. في السطر التالي ، اضبط رأس HTTP:
    header ("Content-disposition: attachment؛ filename = huge_document.pdf")؛
  5. ثم قم بتعيين نوع MIME للملف:
    header ("نوع المحتوى: application / pdf") ؛
  6. أشر إلى الملف الذي تريد تنزيله:
    طلب & ReadFile ( "huge_document.pdf")؛
  7. ثم أغلق كتلة PHP واحفظ الملف:
    ؟>
  1. يجب أن يكون ملف PHP كما يلي:
    <؟ PHP
    header ("Content-disposition: attachment؛ filename = huge_document.pdf")؛
    header ("نوع المحتوى: application / pdf") ؛
    طلب & ReadFile ( "huge_document.pdf")؛
    ؟>
  2. قم الارتباط بملف PHP الخاص بك كحلقة تنزيل من صفحة ويب. فمثلا:
    قم بتنزيل المستند الضخم الخاص بي (PDF)

يجب ألا يكون هناك مسافات أو أحرف رجوع في أي مكان في الملف (باستثناء ما بعد النقطتين). ستؤدي الخطوط الفارغة إلى جعل PHP افتراضيًا لنوع / MIME لنوع MIME ولن يتم تنزيل الملف.