【发布时间】:2014-02-13 11:31:48
【问题描述】:
我有一个表单,其中有一个上传按钮和一个删除按钮。
最初,我从数据库 (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
}
?>
我上传的图片正在保存在数据库中,点击上传按钮后会显示上传的图片,但是当我重新加载页面或再次打开表单时,没有图片。
【问题讨论】:
-
如果我们要查看您的问题所在,我们将需要您的代码。
-
@ShivanRaptor-我已经在这里复制了我的代码。现在你可以看看它。
-
@Justice- 我已经在这里复制了我的代码。现在你可以看看它。