ايمن ميلاد نشر 4 مارس 2024 أرسل تقرير نشر 4 مارس 2024 السلام عليكم لدي سكربت تالي يقبل حجم ملفات التي اقل من واحد ميغا لكن لايقبل ملفات حجمه اكثر علي الرغم لم احدد حجم ملف كود مرفقا if(isset($_POST['submit'])){ $file_proj = date("Ymdhis").$_FILES['file']['name']; $file_type = $_FILES['file']['type']; $file_tmp = $_FILES['file']['tmp_name']; $file_dir = '../uploads/'; $id_pro = $_GET['id']; if(in_array($file_type,array("application/pdf","application/vnd.ms-powerpoint","application/msword","application/vnd.ms-word.document.macroenabled.12"))){ move_uploaded_file($file_tmp,$file_dir.$file_proj); $sql = "INSERT INTO `file_project`(`id_p`, `path_file`) VALUES ($id_pro ,'$file_proj')"; $query = mysqli_query($con,$sql); echo '<div class="col-md-12"><div class="alert alert-success" role="alert"> تم اضافة الملف بنجاح </div></div>'; }else{ echo '<div class="col-md-12"><div class="alert alert-danger text-center" role="alert">خطأ في رفع الملف الرجائ التحقق من نوع الملف<div /> </div>'; } } } 1 اقتباس
0 ياسر مسكين نشر 4 مارس 2024 أرسل تقرير نشر 4 مارس 2024 (معدل) المشكلة الرئيسية هي أن السكربت يبدو أنه لا يتحقق من حجم الملفات قبل محاولة رفعها، وبالتالي لا يتم التحقق من تجاوز حدود الحجم المسموح بها، ولحل هذه المشكلة، يجب عليك إضافة التحقق من حجم الملفات قبل محاولة رفعها. يمكنك القيام بذلك باستخدام الميزة المدمجة في PHP لفحص حجم الملف المُحمَّل قبل محاولة حفظه على السيرفر. بداية يمكنك التحقق من حجم الملف باستخدام الدالة: اقتباس PHP `$_FILES['file']['size']` أظهر المزيد ثم مقارنة حجم الملف الذي تم تحميله مع الحد الأقصى المسموح به، فإذا كان حجم الملف يتجاوز الحد الأقصى المسموح به، فسوف يتم عرض رسالة خطأ ولا تقم بحفظ الملف على السيرفر.وهذا تعديل للسكريبت الخاص بك ليتماشى مع ما ذكرته: if(isset($_POST['submit'])){ $file_proj = date("Ymdhis") . $_FILES['file']['name']; $file_type = $_FILES['file']['type']; $file_tmp = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; // Get the size of the file $file_dir = '../uploads/'; $id_pro = $_GET['id']; // Check if file size exceeds the maximum allowed size (in bytes) $max_file_size_allowed = 1048576; // 1 MB, you can change this as per your requirement if ($file_size <= $max_file_size_allowed) { if(in_array($file_type,array("application/pdf","application/vnd.ms-powerpoint","application/msword","application/vnd.ms-word.document.macroenabled.12"))){ move_uploaded_file($file_tmp,$file_dir.$file_proj); $sql = "INSERT INTO `file_project`(`id_p`, `path_file`) VALUES ($id_pro ,'$file_proj')"; $query = mysqli_query($con,$sql); echo '<div class="col-md-12"><div class="alert alert-success" role="alert"> تم اضافة الملف بنجاح </div></div>'; } else { echo '<div class="col-md-12"><div class="alert alert-danger text-center" role="alert">خطأ في رفع الملف الرجاء التحقق من نوع الملف<div /> </div>'; } } else { echo '<div class="col-md-12"><div class="alert alert-danger text-center" role="alert">حجم الملف يتجاوز الحد المسموح به<div /> </div>'; } } تم التعديل في 4 مارس 2024 بواسطة ياسر مسكين اقتباس
0 Mahmoud Hassan19 نشر 4 مارس 2024 أرسل تقرير نشر 4 مارس 2024 مرحبا المشكلة لديك قد تكون بسبب إعدادات رفع الملفات للتحكم في الحجم الأقصى للملفات التي يمكن رفعها ممكن استخدام إعداد max_file_sizeفي ملف config/upload.php قم بتغيريها الي 'max_file_size' => 2097152, وبعد ذاللك اكتب هذه الامر في الترمينل لكي تمسح الكاش php artisan config:clear اقتباس
0 ايمن ميلاد نشر 4 مارس 2024 الكاتب أرسل تقرير نشر 4 مارس 2024 بتاريخ On 4/3/2024 at 17:09 قال ياسر مسكين: المشكلة الرئيسية هي أن السكربت يبدو أنه لا يتحقق من حجم الملفات قبل محاولة رفعها، وبالتالي لا يتم التحقق من تجاوز حدود الحجم المسموح بها، ولحل هذه المشكلة، يجب عليك إضافة التحقق من حجم الملفات قبل محاولة رفعها. يمكنك القيام بذلك باستخدام الميزة المدمجة في PHP لفحص حجم الملف المُحمَّل قبل محاولة حفظه على السيرفر. بداية يمكنك التحقق من حجم الملف باستخدام الدالة: ثم مقارنة حجم الملف الذي تم تحميله مع الحد الأقصى المسموح به، فإذا كان حجم الملف يتجاوز الحد الأقصى المسموح به، فسوف يتم عرض رسالة خطأ ولا تقم بحفظ الملف على السيرفر.وهذا تعديل للسكريبت الخاص بك ليتماشى مع ما ذكرته: if(isset($_POST['submit'])){ $file_proj = date("Ymdhis") . $_FILES['file']['name']; $file_type = $_FILES['file']['type']; $file_tmp = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; // Get the size of the file $file_dir = '../uploads/'; $id_pro = $_GET['id']; // Check if file size exceeds the maximum allowed size (in bytes) $max_file_size_allowed = 1048576; // 1 MB, you can change this as per your requirement if ($file_size <= $max_file_size_allowed) { if(in_array($file_type,array("application/pdf","application/vnd.ms-powerpoint","application/msword","application/vnd.ms-word.document.macroenabled.12"))){ move_uploaded_file($file_tmp,$file_dir.$file_proj); $sql = "INSERT INTO `file_project`(`id_p`, `path_file`) VALUES ($id_pro ,'$file_proj')"; $query = mysqli_query($con,$sql); echo '<div class="col-md-12"><div class="alert alert-success" role="alert"> تم اضافة الملف بنجاح </div></div>'; } else { echo '<div class="col-md-12"><div class="alert alert-danger text-center" role="alert">خطأ في رفع الملف الرجاء التحقق من نوع الملف<div /> </div>'; } } else { echo '<div class="col-md-12"><div class="alert alert-danger text-center" role="alert">حجم الملف يتجاوز الحد المسموح به<div /> </div>'; } } أظهر المزيد انا اريد يقبل ملفات من كليو بايت الي 15 ميغا اقصي شي وليس اقصي شي واحد ميغا بتاريخ On 4/3/2024 at 20:52 قال gamal_king: انا اريد يقبل ملفات من كليو بايت الي 15 ميغا اقصي شي وليس اقصي شي واحد ميغا أظهر المزيد قمت بعمل اقصي شي 15 ميغا قبل انظر للكود لكن تظهر رسالة تالية علي الرغم من انه pdf امتداده if (isset($_POST['submit'])) { $file_proj = date("Ymdhis") . $_FILES['file']['name']; $file_type = $_FILES['file']['type']; $file_tmp = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; // Get the size of the file $file_dir = '../uploads/'; $id_pro = $_GET['id']; // Check if file size exceeds the maximum allowed size (in bytes) $max_file_size_allowed = 8388608; // 15 MB, you can change this as per your requirement if ($file_size <= $max_file_size_allowed) { if (in_array($file_type, array("application/pdf", "application/vnd.ms-powerpoint", "application/msword", "application/vnd.ms-word.document.macroenabled.12"))) { move_uploaded_file($file_tmp, $file_dir . $file_proj); $sql = "INSERT INTO `file_project`(`id_p`, `path_file`) VALUES ($id_pro ,'$file_proj')"; $query = mysqli_query($con, $sql); echo '<div class="col-md-12"><div class="alert alert-success" role="alert"> تم اضافة الملف بنجاح </div></div>'; } else { echo '<div class="col-md-12"><div class="alert alert-danger text-center" role="alert">خطأ في رفع الملف الرجاء التحقق من نوع الملف<div /> </div>'; } } else { echo '<div class="col-md-12"><div class="alert alert-danger text-center" role="alert">حجم الملف يتجاوز الحد المسموح به<div /> </div>'; } } بتاريخ On 4/3/2024 at 17:18 قال Mahmoud Hassan19: مرحبا المشكلة لديك قد تكون بسبب إعدادات رفع الملفات للتحكم في الحجم الأقصى للملفات التي يمكن رفعها ممكن استخدام إعداد max_file_sizeفي ملف config/upload.php قم بتغيريها الي 'max_file_size' => 2097152, وبعد ذاللك اكتب هذه الامر في الترمينل لكي تمسح الكاش php artisan config:clear أظهر المزيد اين اجد مكانه ملف اقتباس
0 Mahmoud Hassan19 نشر 4 مارس 2024 أرسل تقرير نشر 4 مارس 2024 لو مش موجود عندك ممكن تغير القيمة دي في ملف php.ini upload_max_filesize = 10MB او ممكن تستخدم validator في controller $validator = Validator::make($request->all(), [ 'file' => 'max:5120', //5MB ]); اقتباس
السؤال
ايمن ميلاد
السلام عليكم لدي سكربت تالي يقبل حجم ملفات التي اقل من واحد ميغا لكن لايقبل ملفات حجمه اكثر علي الرغم لم احدد حجم ملف
كود مرفقا
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.