Omer Amad نشر 11 يوليو أرسل تقرير نشر 11 يوليو كيفكم يا أصدقاء.... فيه عندي فورم فيه 5 حقول "input type ="file......وفيه عندي folder اسمه img.... عنده ارسال الصور يجب أن تكون في folder الذي اسمه img.... كل input له عامود مثال الانبوت الأول اسم العامود تبعهُ img1 الانبوت الثاني اسم العامود تبعهُ img2 الانبوت الثالث اسم العامود تبعهُ img3 الانبوت الرابع اسم العامود تبعهُ img4 الانبوت الخامس اسم العامود تبعهُ img5 2 اقتباس
0 Chihab Hedidi نشر 11 يوليو أرسل تقرير نشر 11 يوليو نعم يمكنك ذلك يجب عليك إنشاء الفورم في ملف HTML و الذي يحتوي على ال input، ثم قم بإنشاء ملف PHP للتعامل مع رفع الملفات، سأحاول كتابة كود بسيط يقوم بنفس العمل لكن يجب عليك تعديله حسب حاجتك: <?php if (isset($_POST['submit'])) { // حدد مسار المجلد حيث سيتم تخزين الصور $target_dir = "img/"; // قم بإنشاء مصفوفة تحتوي على أسماء الحقول $inputs = ['img1', 'img2', 'img3', 'img4', 'img5']; foreach ($inputs as $input) { // احصل على معلومات الملف $target_file = $target_dir . basename($_FILES[$input]['name']); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION)); // تحقق مما إذا كان الملف صورة بالفعل $check = getimagesize($_FILES[$input]["tmp_name"]); if ($check !== false) { echo "File is an image - " . $check["mime"] . ".<br>"; $uploadOk = 1; } else { echo "File is not an image.<br>"; $uploadOk = 0; } // السماح بأنواع معينة فقط من الملفات if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.<br>"; $uploadOk = 0; } // تحقق مما إذا كان $uploadOk يساوي 0 بسبب خطأ if ($uploadOk == 0) { echo "Sorry, your file was not uploaded.<br>"; // إذا كان كل شيء على ما يرام، حاول رفع الملف } else { if (move_uploaded_file($_FILES[$input]["tmp_name"], $target_file)) { echo "The file ". htmlspecialchars(basename($_FILES[$input]["name"])). " has been uploaded.<br>"; } else { echo "Sorry, there was an error uploading your file.<br>"; } } } } ?> بهذه الطريقة ستتأكد من أن الملف هو صورة، كما نسمح بأنواع معينة فقط من الملفات (JPG، JPEG، PNG، وGIF)، نحاول رفع الملف إلى المجلد المحدد إذا لم يكن هناك أي أخطاء، وايضا كخطوة أخيرة تأكد من أن المجلد img لديه أذونات الكتابة المناسبة للسماح بعملية رفع الملفات. 1 اقتباس
0 محمد عاطف17 نشر 11 يوليو أرسل تقرير نشر 11 يوليو أولا يجب عليك إنشاء ملف ال form كالتالي : <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>رفع الصور</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <label for="img1">صورة 1:</label> <input type="file" name="img1" id="img1"><br> <label for="img2">صورة 2:</label> <input type="file" name="img2" id="img2"><br> <label for="img3">صورة 3:</label> <input type="file" name="img3" id="img3"><br> <label for="img4">صورة 4:</label> <input type="file" name="img4" id="img4"><br> <label for="img5">صورة 5:</label> <input type="file" name="img5" id="img5"><br> <input type="submit" value="رفع الصور"> </form> </body> </html> بعد ذلك نقوم بإنشاء سكريبت الرفع ملف upload.php : <?php // إعدادات قاعدة البيانات $servername = "localhost"; $username = "root"; $password = ""; $dbname = "db_name"; // إنشاء اتصال بقاعدة البيانات $conn = new mysqli($servername, $username, $password, $dbname); // التحقق من نجاح الاتصال if ($conn->connect_error) { die("فشل الاتصال بقاعدة البيانات: " . $conn->connect_error); } // تحديد المجلد الذي سيتم تخزين الملفات فيه $target_dir = "img/"; // المتغير الذى يحوي مسارات الملفات لوضعها في قاعدة البيانات $path_files = []; // معالجة كل حقل من حقول الملفات for ($i = 1; $i <= 5; $i++) { if (isset($_FILES["img$i"])) { $uploadOk = 1; // تحقق من حجم الملف if ($_FILES["img$i"]["size"] > 5000000) { // 5MB كحد أقصى echo "عذراً، حجم الملف " . $_FILES["img$i"]["name"] . " كبير جداً.<br>"; $uploadOk = 0; } } } // تحقق من $uploadOk لتجنب رفع الملفات إذا كان هناك مشكلة if ($uploadOk == 0) { echo "عذراً، لم يتم رفع الملفات .<br> "; } else { for ($i = 1; $i <= 5; $i++) { $target_file = $target_dir . basename($_FILES["img$i"]["name"]); move_uploaded_file($_FILES["img$i"]["tmp_name"], $target_file); $path_files[$i] = [$target_file]; } $stmt = $conn->prepare("INSERT INTO table_name (img1,img2,img3,img4,img5) VALUES (?, ?,?,?,?)"); $stmt->bind_param("sssss", $path_files[1], $path_files[2],$path_files[3],$path_files[4],$path_files[5]); if ($stmt->execute()) { echo " تم رفع الملفات بنجاح <br> "; } else { echo "حدثت مشكلة اثناء الإضافة في قاعدة البيانات"; } } $conn->close(); وهكذا سيتم رفع جميع الملفات معا وإذا حدث خطا في ملف فلن يرفع الباقي ولن يتم الإضافة في قاعدة البيانات 1 اقتباس
السؤال
Omer Amad
كيفكم يا أصدقاء.... فيه عندي فورم فيه 5 حقول "input type ="file......وفيه عندي folder اسمه img.... عنده ارسال الصور يجب أن تكون في folder الذي اسمه img....
كل input له عامود مثال
الانبوت الأول اسم العامود تبعهُ img1
الانبوت الثاني اسم العامود تبعهُ img2
الانبوت الثالث اسم العامود تبعهُ img3
الانبوت الرابع اسم العامود تبعهُ img4
الانبوت الخامس اسم العامود تبعهُ img5
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.