Вставить путь к нескольким файлам в одном столбце БД?

Я новичок в php. Я загружаю несколько файлов из формы вместе с другими входами в базу данных. Полный путь и имя файла должны быть вставлены в БД в один столбец с запятыми. Как я могу это сделать?

$filename = $_FILES['file']['name'];
$folder = "/var/www/html/PhpProject1/";
for($i=0; $i<count($_FILES['file']['name']);$i++)
{
move_uploaded_file($_FILES['file']['tmp_name'][$i], $folder.$_FILES['file']['name'][$i]);
}
$stmt = $conn->prepare("INSERT INTO studentrecords(name, email, mobileno,address,gender,filename) values (?,?,?,?,?,?)");
$stmt->bind_param("ssssss",$name,$email,$mobno,$address,$gender,$filename);
$stmt->execute();
echo "Successfull";
$stmt->close();
$conn->close();

0

Решение

Вам нужно сохранить пути в массиве, потому что вы загружаете несколько файлов. Так вот, я использую $paths массив для хранения путей.
И в запросе вставки я использую implode функция для преобразования массива в строку (с запятой). Таким образом, вы можете сохранить все пути как запятую в одном столбце.

Это ваше решение

    $filename = $_FILES['file']['name'];
$folder = "/var/www/html/PhpProject1/";
$paths = array();
for($i=0; $i<count($_FILES['file']['name']);$i++)
{
$paths[] = $folder.$_FILES['file']['name'][$i];
move_uploaded_file($_FILES['file']['tmp_name'][$i], $folder.$_FILES['file']['name'][$i]);
}
$stmt = $conn->prepare("INSERT INTO studentrecords(name, email, mobileno,address,gender,filename) values (?,?,?,?,?,?)");
$stmt->bind_param("ssssss",$name,$email,$mobno,$address,$gender,implode(",",$paths));
$stmt->execute();
echo "Successfull";
$stmt->close();
$conn->close();
1

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

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

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