سؤال

أهلاً!كيف يمكنني التحقق مما إذا كان المستخدمون يحاولون تحميل ملفات أكبر من 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 إذا تجاوزوا هذا الحد، بدلاً من رسالة الخطأ المخصصة الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top