اخواني ارجو المساعده

  • Bing

كانت لي مشكله في ادخال الى قاعده البيانات كلمت احد المختصين وعدل على الكود اضاف اليه هذه الاسطر

  $explava = explode('.', $itemimgName);

  $endava = end($explava);

  $itemimgExten = strtolower($endava);

  $itemimg = rand(0, 10000) . '_' . $itemimgName;

اريد انا اعرف وضيفتها في الكود لو سمحتو

هذا هو الكود كاملًا

<?php

include('configg.php');

if(isset($_POST['uploade'])){

  $NAME = $_POST['name'];

  $PRICE = $_POST['price'];

  // $IMAGE = $_FILES['image'];

  // $image_location = $_FILES['image']['tmp_name'];

  // $image_name  = $_FILES['image']['name'];

  // upload variables

  $itemimgName = $_FILES['image']['name'];

  $itemimgTmp = $_FILES['image']['tmp_name'];

  $explava = explode('.', $itemimgName);

  $endava = end($explava);

  $itemimgExten = strtolower($endava);

  $itemimg = rand(0, 10000) . '_' . $itemimgName;

  $insert = "INSERT INTO food(name , price , image) VALUES ('$NAME','$PRICE','$itemimg')";

  // var_dump($insert -> erorrInfo($insert));

  mysqli_query($con ,$insert);

  if(move_uploaded_file($itemimgTmp, "im\\" . $itemimg)){

    echo "<script>alert('yyyeess')</script>";

  }

  else{

    echo "<script>alert('noo')</script>";

  }

}

?>


Mustafa_Suleiman أضف ردا

الأسطر الأربعة التي تمت إضافتها إلى الكود تعمل على تقسيم اسم الملف الذي تم تحميله إلى جزئين: اسم الملف وامتداد الملف.

وتتيح هذه الأسطر لك الوصول إلى الامتداد الخاص بالملف الذي تم تحميله، وتحويله إلى حروف صغيرة، وتوليد اسم ملف جديد عشوائي يتكون من رقم عشوائي متبوعًا بشرطة سفلية واسم الملف الأصلي.

واستخدام هذا الاسم الجديد لحفظ الملف المرفوع في مجلد الصور في الخادم.

ثم استخدام المتغير $itemimg في إدخال بيانات المنتج في جدول food في قاعدة البيانات واستخدامه أيضًا في رابط الصورة المرفوعة في العرض.

وسأشرح لك بالتفصيل:

في البداية يتم استخلاص الامتداد (extension) لملف الصورة المرفوع على الموقع، وتوليد اسم عشوائي جديد للملف.

أي أولاً، يتم تفكيك اسم الملف بناءً على النقطة التي تفصل الامتداد عن اسم الملف، باستخدام دالة PHP المسماة explode()، حيث يتم تحويل اسم الملف إلى مصفوفة (array) تحتوي على قسمين: اسم الملف والامتداد.

ثم، استخدام دالة end() للحصول على العنصر الأخير في المصفوفة السابقة (الذي يحوي الامتداد) وتخزينه في المتغير $endava.

بعد ذلك، تحويل النص في المتغير $endava إلى حروف صغيرة باستخدام دالة strtolower()، وحفظ النتيجة في المتغير $itemimgExten.

أخيراً، إنشاء اسم عشوائي جديد للملف باستخدام دالة rand()، من خلال إضافة عدد عشوائي بين 0 و 10000 إلى الجزء الأول من الاسم، ثم إضافة النقطة والامتداد الجديدة التي تم تخزينها في المتغير $itemimgExten، وتخزين النتيجة النهائية في المتغير $itemimg.

شكرن اخي جزاك الله الف خير

اشكرك شكر جزيل لولا مساهمتك

لما اكملت مشروع اشكرك مره اخرى