我有一個表單,其中有一個上傳按鈕和一個刪除按鈕。想要顯示頁面重新加載和頁面刷新時新上傳的圖像
最初,圖像顯示在我從數據庫(Mysql)中檢索的窗體上。
當我上傳一張新圖片時,圖片被上傳,但之前的圖片(這是最初的圖片)也顯示在框中。
當我刷新頁面或重新加載它時,沒有圖像顯示,我得到的是沒有任何圖像(即初始圖像)的盒子。
我想讓上傳的圖片一直顯示直到新圖片上傳或刪除,並刪除我的初始圖片。我怎麼能在PHP中做到這一點? 此代碼顯示初始圖像打開自己的狀態時,直等到我沒有更新:
// Connection to Database
$result1= mysql_query("SELECT images FROM $table") or die("SELECT Error".mysql_error());
$row=mysql_fetch_array($result1);
echo "<img src='data:images/jpeg;base64," .base64_encode($row['images'])."'width='100' height='100' />";
這是上傳圖片的代碼:
$UPLOADDIR = "upload/";
if(isset($_POST['Submit']))
{
foreach ($_FILES as $key => $value)
{
$image_tmp = $value['tmp_name'];
$image = $value['name'];
$image_file = "{$UPLOADDIR}{$image}";
if(move_uploaded_file($image_tmp,$image_file))
{
mysql_select_db($database) or die("Unable to select database");
$result1= mysql_query("SELECT images FROM $table WHERE images='$image'")or die("SELECT Error: ".mysql_error());
$sql="DELETE FROM $table WHERE ID!=1";
mysql_select_db($database) or die("Unable to select database");
$ret=mysql_query($sql,$conn);
if(!$ret)
{
die(mysql_error());
}
$query = "INSERT INTO $table (images) VALUES ('$image')";
$data = mysql_query ($query)or die(mysql_error());
echo <<<HEREDOC
<div style="float:left;margin-right:10px;">
<img src="{$image_file}" alt="file not found" height="100" width="100"/>
</br>
</div>
HEREDOC;
}
else
{
echo "<h1>image file upload failed, image too big after compression</h1>";
}
}
}
else
{
?>
<form name='newad' method='post' enctype='multipart/form-data' action=''>
<table>
<tr>
<td><input type='file' name='image'></td>
</tr>
<tr>
<td><input name='Submit' type='submit' value='Upload image'></td>
</tr>
</table>
</form>
<?php
}
?>
我上傳的圖片在數據庫中保存和上傳圖片顯示在點擊上傳按鈕後,但當我重新加載頁面或再次打開表單時,則沒有圖像。
如果我們要查看哪裏出錯,我們將需要您的代碼。 – Justice
@ ShivanRaptor-我在這裏複製了我的代碼。現在你可以看看它。 –
@ Justice - 我在這裏複製了我的代碼。現在你可以看看它。 –