Как загрузить / сохранить несколько изображений в базе данных mysql в php

Здесь я делаю форму, в которой пользователь может загружать несколько изображений

HTML-код ниже

<input type='file' name='attachPhoto1' multiple />

PHP-код ниже

  $tmp_file = $_FILES['attachPhoto1']['tmp_name']; $target_file = basename($_FILES['attachPhoto1']['name']); $upload_dir = "userUploads"; move_uploaded_file($tmp_file,$upload_dir."/".$target_file); 

Но когда я загружаю несколько изображений, тогда только одно изображение загружается в папку userUploads . Поэтому, пожалуйста, помогите мне решить эту проблему.

Используйте <input type='file' name='attachPhoto1[]' multiple /> . Обратите внимание на квадратные скобки (выделение их для меня не сработало). В PHP вы должны перебирать элементы массива $ attachPhoto1 [].

Ваш вход должен быть таким, когда вы загружаете и публикуете файлы с несколькими изображениями

<input type='file' name='attachPhoto1[]' multiple />

и ваша форма должна быть такой

<form action="" method="post" name="" id="" enctype="multipart/form-data">

и следующий очень полезный код, который я использовал, вы можете настроить его в соответствии с вашими потребностями;

 if(!empty($_FILES['attachPhoto1']['name'])) { $allowedExts = array("gif", "jpeg", "jpg", "png"); $error_uploads = 0; $total_uploads = array(); $upload_path = 'upload/'; foreach($_FILES['attachPhoto1']['name'] as $key => $value) { $temp = explode(".", $_FILES['attachPhoto1']['name'][$key]); $extension = end($temp); if ($_FILES["files"]["type"][$key] != "image/gif" && $_FILES["files"]["type"][$key] != "image/jpeg" && $_FILES["files"]["type"][$key] != "image/jpg" && $_FILES["files"]["type"][$key] != "image/pjpeg" && $_FILES["files"]["type"][$key] != "image/x-png" && $_FILES["files"]["type"][$key] != "image/png" && !in_array($extension, $allowedExts)) { $error_uploads++; continue; } $file_name = time().rand(1,5).rand(6,10).'_'.str_replace(' ', '_', $_FILES["attachPhoto1"]['name'][$key]); if(move_uploaded_file($_FILES["attachPhoto1"]['tmp_name'][$key], $upload_path.$file_name)) { $total_uploads[] = $file_name; } else { $error_uploads++; } } if(sizeof($total_uploads)) { //Do what ever you like after file uploads, you can run query here to save it in database or set redirection after success upload } } } 

См. Этот код для загрузки нескольких изображений в указанной папке

 <?php if (isset($_POST['submit'])) { $j = 0; // Variable for indexing uploaded image. $target_path = "uploads/"; // Declaring Path for uploaded images. for ($i = 0; $i < count($_FILES['file']['name']); $i++) { // Loop to get individual element from the array $validextensions = array("jpeg", "jpg", "png"); // Extensions which are allowed. $ext = explode('.', basename($_FILES['file']['name'][$i])); // Explode file name from dot(.) $file_extension = end($ext); // Store extensions in the variable. $target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext) - 1]; // Set the target path with a new name of image. $j = $j + 1; // Increment the number of uploaded images according to the files in array. if (($_FILES["file"]["size"][$i] < 100000) // Approx. 100kb files can be uploaded. && in_array($file_extension, $validextensions)) { if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $target_path)) { // If file moved to uploads folder. echo $j. ').<span id="noerror">Image uploaded successfully!.</span><br/><br/>'; } else { // If File Was Not Moved. echo $j. ').<span id="error">please try again!.</span><br/><br/>'; } } else { // If File Size And File Type Was Incorrect. echo $j. ').<span id="error">***Invalid file Size or Type***</span><br/><br/>'; } } } ?>