Я хочу, чтобы пользователь мог загружать несколько изображений. Есть ли способ сохранить пути из 3 изображений под одним полем в базе данных? Я имею в виду наличие всех путей изображения в том же столбце, что и
Images | date images/file1.jpg, images/file2.jpg, images/file3.jpg | Thursday... <ul id="image_upload"> <input type="file" name="image[]"><a href="#" id="add_more">Add more</a> <br> [removed] $(document).ready(function(){ $('#add_more').click(function(){ var current_count = $('input[type="file"]').length; var next_count = current_count + 1; $('#image_upload').append('<br><input type="file" name="image[' + next_count + ']"><br>'); }); }); </ul> <br><br>
то я проверяю файлы с php и пытаюсь вставить в базу данных
if (!empty($_FILES['image'])){ for ($i = 0; isset($_FILES['image']['name'][$i]); $i++) { $allowed = array('jpg', 'jpeg', 'png', 'bmp', 'tiff', 'gif'); $fileName = $_FILES['image']['name'][$i]; $fileSize = $_FILES['image']['size'][$i]; $fileExt = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); if (!in_array($fileExt, $allowed)) { $errors[] = 'Incorrect file type. Only allowed: ' . implode(', ', $allowed) . ''; } if ($fileSize > 2097152) { $errors[] = "$fileName exceeds the maximum file size of 2 MB"; } } for ($i = 0; isset($_FILES['image']['name'][$i]); $i++) { $fileBase = basename($_FILES['image']['name'][$i]); $fileName = pathinfo($fileBase, PATHINFO_FILENAME); $fileExt = pathinfo($fileBase, PATHINFO_EXTENSION); $fileTmp = $_FILES['image']['tmp_name'][$i]; $fileDst = 'images/images/'.basename($_FILES['image']['name'][$i]); for ($j = 0; file_exists($fileDst); $j++) { $fileDst = "images/images/$fileName-$j.$fileExt"; } if (move_uploaded_file($fileTmp, $fileDst)) { $output[$fileBase] = "Stored $fileBase OK"; } } }
этот код загружает только первое изображение в папку temp и только один путь в базу данных