mysql — загрузка нескольких файлов в PHP и сохранение пути к файлу и т. д. в базе данных SQL

Я пытаюсь загрузить несколько файлов в папку с помощью PHP, а затем добавить путь к файлу и т. Д. В базу данных SQL.

Когда я удаляю оператор if, который выполняет запрос к базе данных, все выбранные файлы успешно выгружаются в указанный каталог, и эхо-сигнал «success» печатается столько же раз, сколько и загруженных файлов, как и ожидалось.

Когда я добавляю оператор if обратно, это вызывает загрузку только первого файла и ничего больше не выводится. Для одного загруженного файла выводится только одно эхо-сообщение «success», и не выводятся статусы: success или error: … и ничего не добавляется в базу данных.

Ниже приведен код:

if (isset($_POST)) {
if (count($_FILES['upload']['name']) > 0) {
for($i=0; $i<count($_FILES['upload']['name']); $i++) {

$tmpFilePath = $_FILES['upload']['tmp_name'][$i];

if ($tmpFilePath != "") {

$shortname = $_FILES['upload']['name'][$i];
$filePath = "../../uploads/files/" . $_FILES['upload']['name'][$i];

if(move_uploaded_file($tmpFilePath, $filePath)) {
echo "success";

include './includes/db/databaseUploads.php';

$files[] = $shortname;
$dbuserId = $_SESSION['login_id'];

$queryAddFile = "INSERT INTO `files`(`id`, `file_name`, `folder`, `user_id`, `upload_time`, `modify_time`) VALUES (NULL,$shortname,'root',$dbuserId',NULL,NULL)";

//Removing the below if statement allows me to upload multiple files but obviously removes database functionality.
if ($connectionUploads->query($queryAddFile) === TRUE) {
echo '{"status":"success"}';
} else {
echo '{"status":"error", "response":"'.$connectionUploads->error.'"}';
}
}
}
}
}

} else {
echo "no post";
}

Любая помощь будет принята с благодарностью.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]