لا تسمح بصور بحجم 2 ميجابايت
سؤال
أهلاً!كيف يمكنني التحقق مما إذا كان المستخدمون يحاولون تحميل ملفات أكبر من 2 ميجابايت؟أود أن أنكر ذلك وأضع رسالة خطأ للمستخدم الذي يحاول القيام بذلك.
أعلم أنه شيء من هذا القبيل، ولكن ما الذي يجب أن أغيره من 50000 إلى 2 ميجابايت؟
if ($_FILES['imagefile']['size'] > 50000 )
{
die ("ERROR: Large File Size");
}
المحلول
و2 MB هو 2097152 بايت.
وتغيير 50٬000-2٬097٬152 وانت حددت.
نصائح أخرى
وهذا 5000 هو عدد اعفي، وذلك أساسا كل ما تحتاجه لتحويل 2MB بايت. 1 MB 1024 كيلو بايت، و 1024 بايت هو 1 كيلوبايت. القيام الرياضيات، نحصل على:
و2 ميغا بايت = 2 097 152 بايت
وفي الأساس، يمكنك حساب هذا في شكل كود
$maxFileSize = $MB_limit * 1024 * 1024;
وتأكد من أن لا يتجاوز حجم الملف $ maxFileSize.
بافتراض أن لديك حقل ملف في نموذج يسمى "تحميل"، يمكنك التحقق من حجم الملف كما يلي:
if ($_FILES['upload']['size'] > $max_upload_size) { echo "File too big"; }
حيث $max_upload_size هو الحد الأقصى للحجم الذي تريد السماح به (من الواضح أنك ستحتاج إلى استبدال echo
بيان مع رسالة خطأ أكثر فائدة).
يمكنك أيضًا استخدام upload_max_filesize الإعداد في ملف php.ini، ولكن هذا سيؤدي إلى رؤية المستخدمين لخطأ PHP إذا تجاوزوا هذا الحد، بدلاً من رسالة الخطأ المخصصة الخاصة بك.