اريد كود برمجي يحذف من قاعدة البيانات عمود مع الصورة من الملف لتخزين الصور

  • Moheeb_1994

السلام عليكم ورحمة الله وبركاته

if(isset($_GET['delete'])){

  $delete_id = $_GET['delete'];

  $delete_message = $conn->prepare("DELETE FROM `moto` WHERE id = ?");

  $delete_message->execute([$delete_id]);

  header('location:witmoto.php');

}

هذا الكود البرمجي لا يحذف الصورة من الملف uploade_img/

انما يحذف العمود مع اسم الصورة ولكن اذا فتشت في ملف الرفع للصور اجد الصورة باقية ولا تنحذف ممكن تعدلون على هذا الكود :يحذف العمود من القاعدة و الصورة من الملف uploade_img

وجزاكم الله خيرا


بالطبع، يجب عليك أن تقوم بحذف الملف الخاص بالصورة بشكل منفصل بعد حذف السجل من قاعدة البيانات، يمكنك تحقيق ذلك بإضافة كود لحذف الملف بناء على اسم الصورة، هذا مثال لتعديل الكود:

if(isset($_GET['delete'])){
  $delete_id = $_GET['delete'];

  // استعلام لاسترجاع اسم الصورة
  $get_image_name = $conn->prepare("SELECT image_column_name FROM `moto` WHERE id = ?");
  $get_image_name->execute([$delete_id]);
  $image_row = $get_image_name->fetch(PDO::FETCH_ASSOC);
  $image_name = $image_row['image_column_name'];

  // حذف السجل من قاعدة البيانات
  $delete_message = $conn->prepare("DELETE FROM `moto` WHERE id = ?");
  $delete_message->execute([$delete_id]);

  // حذف الملف من مجلد الرفع إذا كان موجوداً
  $upload_path = 'uploade_img/';
  $full_image_path = $upload_path . $image_name;
  if(file_exists($full_image_path)) {
    unlink($full_image_path);
  }

  header('location:witmoto.php');
}

لكن يرجى استبدال `image_column_name` بالاسم الصحيح لعمود الصور في قاعدة البيانات، وكذلك التأكد من أن الكود متوافق مع نوع قاعدة البيانات التي تستخدمها (PDO أو غيرها).

اخ ياسر للاسف لم يتوافق الكود