簡體   English   中英

將圖像上傳到存儲詳細信息在數據庫中的文件,但它將覆蓋已經上傳的圖像

[英]Uploading an image to a file storing details in database but it overwrites the image already uploaded

我一直在使用圖像上傳器將圖像上傳到文件中,以將詳細信息保存在數據庫中,問題是在我下次上傳圖像時上傳一個圖像后,它會覆蓋當前上傳的圖像。 我也試圖用新的圖像名稱存儲新圖像,但它似乎只是將其存儲為“ .jpg”。 這是我的過程代碼;

<?php
//Parser for Add Photo Form
if (isset($_POST["subject"], $_POST["content"], $_POST["imageName"])){
$subject = mysqli_real_escape_string ($con, ($_POST["subject"]));
$content = mysqli_real_escape_string ($con, ($_POST["content"]));
$imageName = mysqli_real_escape_string ($con, ($_POST["imageName"]));
$latitude = mysqli_real_escape_string ($con, ($_POST["latitude"]));
$longitude = mysqli_real_escape_string ($con, ($_POST["longitude"]));

//add photo to db
$sql = mysqli_query($con, "
           INSERT INTO
            Blog (
            subject,
            content,
            imageName,
            latitude,
            longitude,
            datetime
           )VALUES(
            '$subject',
            '$content',
            '$imageName',
            '$latitude',
            '$longitude',
            NOW())")
            or die(mysqli_error($con));
$pid = mysqli_insert_id();
$newName = "$pid.jpg";
move_uploaded_file($_FILES['fileField']['tmp_name'],"blogPhotos/$newName");
header("location: datauploadprocess.php");
exit();
}
?>

用這個 。 它現在可以正常工作。(我假設您的表有一個自動生成的id字段。)

$pid = mysqli_insert_id($con);

嘗試改變

$newName = "$pid.jpg";


$newName = $pid . ".jpg";

不得不將mysqli_insert_id()更改為mysqli_insert_ID($ con),初始代碼為mysql_insert_id(),您無需添加連接。 我也忘記將ID更改為ID以匹配我的數據庫名稱。

$pid = mysqli_insert_ID($con);
$newName = "$pid.jpg";
move_uploaded_file($_FILES['fileField']['tmp_name'],"blogPhotos/$newName");
header("location: datauploadprocess.php");
exit();
}

感謝幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM