В настоящее время я очень озадачен тем, почему я не могу вставить массив изображений в мою базу данных. На данный момент моя текущая многократная загрузка файла способна загружать изображения в мой каталог по умолчанию и способна хранить ТОЛЬКО первое изображение в моей базе данных SQL-сервера, почему это так? Разве команда foreach не может разделить все несколько файлов, которые я загружаю и сохраняю их соответственно в базе данных? Прошу пролить свет, спасибо!Множественная загрузка изображения с использованием PHP в базу данных MYSQL
HTML код
<form method="post" enctype="multipart/form-data" action="">
<input type="file" name="files[]" id="files" multiple />
<br /><br />
<button type="submit">Upload selected files</button>
PHP код
foreach ($_FILES["files"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$name = $_FILES["files"]["name"][$key];
move_uploaded_file($_FILES["files"]["tmp_name"][$key], "" . $_FILES['files']['name'][$key]);
$sql = "INSERT INTO `test`(`image`) VALUES ('" . $name . "')";
$result = mysqli_query($connection, $sql);
echo "The file " . basename($_FILES['multiple_uploaded_files']['name']) . " has been uploaded";
} else {
echo "There was an error uploading the file, please try again!";
}
}
Cheers, Техник новичку обучение в процессе.
Я рекомендую прочитать это: http://stackoverflow.com/questions/6472233/can-i-store-images-in-mysql – Som1
Вы говорите, что ВСЕ загруженные изображения получают загружены и переехал в собственное местоположение, но только имя первого хранится в db? – Shomz
Я пробовал его на локальном хосте, и он должен работать, я не вижу ошибок в коде. Только эта строка: '$ _FILES ['multiple_uploaded_files']' В $ _FILES нет ключа. Это должно быть: 'basename ($ _ FILES ['files'] ['name'] [$ key])' – vaso123