تحميل الملفات باستخدام PHP : ستتعرف في هذا الدرس على كيفية تحميل ملف إلى خادم الويب البعيد باستخدام PHP.
تحميل الملفات باستخدام PHP
في هذا الدرس ، سنتعلم كيفية تحميل الملفات على الخادم البعيد باستخدام نموذج HTML بسيط و PHP.
يمكنك تحميل أي نوع من الملفات مثل الصور ومقاطع الفيديو وملفات ZIP ومستندات Microsoft Office وملفات PDF ، بالإضافة إلى الملفات التنفيذية ومجموعة كبيرة من أنواع الملفات الأخرى.
الخطوة 1: تحجيم نموذج HTML لتحميل الملف
سينشئ المثال التالي نموذج HTML بسيطًا يمكن استخدامه لتحميل الملفات.
ملاحظة: بالإضافة إلى حقل تحديد الملفات ، يجب أن يستخدم نموذج التحميل طريقة النشر ويجب أن يحتوي على سمة enctype = “multipart / form-data”.
تضمن هذه السمة أن بيانات النموذج يتم ترميزها كبيانات MIME للـ mulitpart – وهي مطلوبة لتحميل الكميات الكبيرة من البيانات الثنائية مثل الملفات.
الخطوة الثانية: معالجة الملف الذي تم تحميله
إليك الشفرة الكاملة لملف “upload-manager.php” الخاص بنا.
سيتم تخزين الملف الذي تم تحميله في مجلد التحميل على أساس دائم وكذلك تنفيذ بعض فحوصات الأمان الأساسية مثل نوع الملف وحجم الملف لضمان قيام المستخدمين بتحميل نوع الملف الصحيح وضمن الحد المسموح به.
قد تتساءل عن معنى هذا النص البرمجي. طيب ، دعنا نقرأ كل سطر من هذا المثال ، واحدًا تلو الآخر لفهم المسألة بشكي أفضل.
شرح الكود
بمجرد إرسال النموذج ، يمكن للاسكربت الوصول إلى معلومات حول الملف الذي تم تحميله عبر مصفوفة من نوع superglobal في PHP اسمها $ _FILES.
على سبيل المثال ، يحتوي نموذج التحميل على حقل تحديد ملف يسمى photo
إذا قام المستخدم بتحميل ملف باستخدام هذا الحقل ، فيمكننا الحصول على تفاصيله مثل الاسم أو النوع أو الحجم أو الاسم المؤقت،،
وأي خطأ يحدث أثناء محاولة التحميل عبر المصفوفة المترابطة $ _FILES [“photo”] ، كما يلي:
$ _FILES [“photo”] [“name”]
تحدد قيمة المصفوفة في هذا العنصر منها الاسم الأصلي للملف ، بما في ذلك ملحق الملف. لا تتضمن مسار الملف.
$ _FILES [“photo”] [“type”]
تحدد قيمة المصفوفة في هذا العنصر منها نوع MIME للملف.
$ _FILES [“photo”] [“size”]
تحدد قيمة المصفوفة في هذا العنصر منها حجم الملف بالبايت.
$ _FILES [“photo”] [“tmp_name”]
تحدد قيمة المصفوفة في هذا العنصر منها الاسم المؤقت بما في ذلك المسار الكامل الذي تم تعيينه للملف بمجرد تحميله إلى الخادم.
$ _FILES [“photo”] [“error”]
تحدد قيمة المصفوفة في هذا العنصر منها رمز الخطأ أو الحالة المرتبط بتحميل الملف ،
على سبيل المثال ، سيكون 0 ، إذا لم يكن هناك خطأ.
يعرض كود PHP في المثال التالي تفاصيل الملف الذي تم تحميله ويقوم بتخزينه في دليل مؤقت على الخادم.
تنبيه : بمجرد تحميل الملف بنجاح ، يتم تخزينه تلقائيًا في دليل مؤقت على الخادم.
لاستخدام هذا الملف ، أو تخزينه على أساس دائم ، تحتاج إلى نقله من الدليل المؤقت إلى موقع دائم باستخدام وظيفة move_uploaded_file () الخاصة بـ PHP.