Как загрузить в моём случае несколько фото в базу данных?
Уже несколько дней сижу над этим кодом, как в моём случае загрузить несколько фото в базу данных
У меня есть две таблицы, одна загружается много текст и превью
А вторая таблица где берётся айди с первой таблицы и загружается много фото
Но у меня не работает загрузка много фото
Мой инпут содержит всего 1 название фото, из-за в базу данных и отправляется 1 фото
У меня ещё функционал, предварительного просмотра и тп.
Вот фото моей бд и формы, вот там где загружается много фото, как-бы есть счётчик, но инпут содержит всего 1 название фото и только оно и загружается в базу данных
Вот файл на код
Он сюда не помещается
Главные файлы, это:
Форма: add.php
Скрипт и файл к нему: script.js upload_photo.php
Ссылка удалена модератором.
Дополнительно:
Это задание, а не вопрос.
См.п.3.1 Регламента. Также обратите внимание на п.3.4
Ответы:
Мой инпут содержит всего 1 название фото, из-за в базу данных и отправляется 1 фото
Для загрузки большого количества файлов из одного инпута используется тег multiple.
Для того чтобы понимать что приходит в пхп делайте print_r($_FILES); и смотрите что там пришло.
Естественно для обработки более 1 файла нужен будет цикл, перебирающий $_FILES.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос



Для загрузки нескольких фотографий в базу данных вам потребуется создать таблицу, которая будет содержать необходимые поля для хранения изображений. В данном случае, рекомендуется создать таблицу с полями, например, id (идентификатор), name (название файла), type (тип файла), size (размер файла) и image (само изображение в формате BLOB).
Прежде всего, убедитесь, что ваш сервер настроен на загрузку файлов и работу с базой данных. Далее, создайте HTML форму, которая позволит пользователям выбирать несколько файлов для загрузки:
Теперь создайте скрипт upload.php, который будет обрабатывать загрузку фотографий в базу данных:
$tmp_name ){ $file_name = $_FILES['files']['name'][$key]; $file_size = $_FILES['files']['size'][$key]; $file_tmp = $_FILES['files']['tmp_name'][$key]; $file_type = $_FILES['files']['type'][$key]; if($file_size > 2097152){ $errors[] = 'File size must be less than 2 MB'; } if(!in_array($file_type, $extension)){ $errors[] = 'Only JPEG, PNG, and GIF files are allowed'; } if(empty($errors)==true){ move_uploaded_file($file_tmp, "uploads/".$file_name); $uploadedFiles[] = $file_name; } } if(empty($errors)){ foreach($uploadedFiles as $file){ $imageData = file_get_contents("uploads/".$file); $imageData = $connection->real_escape_string($imageData); $query = "INSERT INTO images (name, type, size, image) VALUES ('$file', '$file_type', '$file_size', '$imageData')"; $connection->query($query); } echo "Files uploaded successfully"; }else{ print_r($errors); } } ?>
Не забудьте создать папку "uploads" на вашем сервере, куда будут сохраняться загруженные фотографии. После успешной загрузки фотографий, они будут сохранены в базе данных и вы сможете отображать их на вашем сайте.
Это базовый пример загрузки нескольких фотографий в базу данных. Пожалуйста, учтите, что хранение фотографий в базе данных может быть не самым эффективным способом и может привести к увеличению размера базы данных. В некоторых случаях рекомендуется хранить фотографии на сервере и сохранять только ссылки на изображения в базе данных.