Иногда я сталкиваюсь с этой проблемой с формой обновления, которая содержит файлы для загрузки в базу данных. Теперь, чтобы объяснить: у меня есть форма для отправки с двумя полями ввода. Первый вход - это имя изображения, а второй - само изображение. Форма отправляется на загрузку. php как вы видите код
выгрузка. php
if(isset($_POST['submit'])){
include 'connection.php';
$imageName=$_POST['imageName'];
$image=$_FILES['image'];
$imageTmpName=$image['tmp_name'];
$imageName=$image['name'];
$imageExt=explode('.',$imageName);
$imageExt=strtolower(end($imageExt));
$newImageName=uniqid('',true).'.'.$imageExt;
$path='C:/xampp/htdocs/test/img/'.$newImageName;
if(move_uploaded_file($imageTmpName,$path)){
echo 'file moved';
}
$query="INSERT INTO imagedata(imageName,image) VALUES ('$imageName','$newImageName')";
if(mysqli_query($conn,$query)){
echo 'data posted to database';
}
}
Как вы видите из кода, я перемещаю изображение временное имя на мой путь и в то же время я и сохраняю новое имя изображения в базе данных. Я использую тот же принцип обновления имени изображения и самого изображения в новой форме, которая отправляется для обновления. php, как показано ниже:
if(isset($_POST['update'])){
include 'connection.php';
$uImageName=$_POST['uimageName'];
$uImage=$_FILES['uImage'];
$uImageTmpName=$Image['tmp_name'];
$uImageName=$uImage['name'];
$uImageExt=explode('.',$uImageName);
$uImageExt=strtolower(end($uImageExt));
$uNewImageName=uniqid('',true).'.'.$uImageExt;
$uPath='C:/xampp/htdocs/test/img/'.$uNewImageName;
if(move_uploaded_file($uImageTmpName,$uPath)){
echo 'file updatet';
}
$query="UPDATE imagedata SET imageName='$uImageName',image='$uNewImageName'";
if(mysqli_query($conn,$query)){
echo 'data updatet to database';
}
}
Помните, что я запрашиваю базу данных и отображаю значения внутри самих полей ввода. Теперь проблема возникает в файле обновления. php, всякий раз, когда я обновляю имя изображения без загрузки какого-либо нового изображения, оно обновляет базу данных пустым изображением и возвращает его в мою форму обновления.
Итак, что я хочу сделать, это когда я хочу обновить базу данных без изображения из моей формы обновления, я хочу, чтобы предыдущее загруженное изображение оставалось прежним. Или, если я хочу, чтобы новое изображение было загружено в базу данных, тогда я хочу обновить базу данных новым изображением, а также удалить старое изображение, которое я ранее загрузил. Я хочу поблагодарить вас за вашу помощь с этим