رفع الملفات (File Upload)

استقبال الملفات من المستخدم

رفع الملفات يتطلب إعداداً خاصاً في نموذج HTML واستخدام مصفوفة خاصة في PHP تسمى $_FILES.

1. إعداد نموذج HTML

يجب إضافة الخاصية enctype="multipart/form-data" للنموذج، واستخدام method="POST".

<form action="upload.php" method="POST" enctype="multipart/form-data">
  اختر صورة: <input type="file" name="myImage">
  <input type="submit" value="رفع">
</form>

2. معالجة الملف في PHP

نستخدم الدالة move_uploaded_file() لنقل الملف من المجلد المؤقت إلى مجلد دائم في موقعك.

<?php
  $target_dir = "uploads/";
  $target_file = $target_dir . basename($_FILES["myImage"]["name"]);

  if (move_uploaded_file($_FILES["myImage"]["tmp_name"], $target_file)) {
    echo "تم رفع الملف بنجاح!";
  } else {
    echo "عذراً، حدث خطأ أثناء الرفع.";
  }
?>
أمن رفع الملفات

رفع الملفات هو أخطر ثغرة أمنية إذا لم يتم التعامل معها بحذر. اتبع دائماً هذه القواعد:

  • تحقق من امتداد الملف (لا تسمح برفع ملفات .php أو .exe).
  • تحقق من حجم الملف (لا تسمح بملفات ضخمة جداً).
  • قم بتغيير اسم الملف المرفوع لاسم عشوائي لتجنب استبدال ملفات أخرى.
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن