Проблема: только последняя загрузка файла, вставленная в строку (перечисление-уверены-безопасность-фото-идентификатор), которая должна быть целыми фотографиями, выбранными во время загрузки.
HTML:
<form action="#" method="post" enctype="multipart/form-data">
<input name="upload[]" type="file" multiple="multiple" />
<input type="submit" name="submit" value="UPLOAD" />
</form>
PHP:
<?php
if(isset($_POST['submit'])) {
for ($i=0; $i<count($_FILES['upload']['name']); $i++) {
$path = "../media/images/Listings/Set/";
$ext = explode('.', basename( $_FILES['upload']['name'][$i]));
$path = $path . md5(uniqid()) . "." . $ext[count($ext)-1];
move_uploaded_file($_FILES['upload']['tmp_name'][$i], $path);
}
$quotequery = "INSERT INTO `listing-details` (`listing-amenities-safety-photos-id`) VALUES ('$path')";
if (mysqli_query($conn, $quotequery) == TRUE) {
echo "File uploaded.";
} else {
echo "Upload failed.". mysqli_error($conn);
}
}
?>
Вставлена фотография для показа только одной записи:
Изображение как доказательство того, что вставлена только одна запись из $ path
Примечание. Все фотографии были успешно загружены в указанный путь. Тем не менее, я не могу заставить MySQL вставить все файлы в моей строке. Я думаю, что массив может решить мою проблему, но я на самом деле не эксперт по массивам или даже PHP! Поэтому, пожалуйста, оцените любой ответ, который полезен, но «помечен как дубликат» или «проголосовал против». Спасибо
Переместите ваш запрос к базе данных внутри вашего цикла. $path
перезаписывается при каждом проходе, поэтому при вставке будет вставлен только последний.
<?php
if(isset($_POST['submit'])) {
for ($i=0; $i<count($_FILES['upload']['name']); $i++) {
$path = "../media/images/Listings/Set/";
$ext = explode('.', basename( $_FILES['upload']['name'][$i]));
$path = $path . md5(uniqid()) . "." . $ext[count($ext)-1];
move_uploaded_file($_FILES['upload']['tmp_name'][$i], $path);
$quotequery = "INSERT INTO `listing-details` (`listing-amenities-safety-photos-id`) VALUES ('$path')";
if (mysqli_query($conn, $quotequery) == TRUE) {
echo "File uploaded.";
} else {
echo "Upload failed.". mysqli_error($conn);
}
}
}
?>
Других решений пока нет …