2014-02-13 43 views
0

我有一个表单,其中有一个上传按钮和一个删除按钮。想要显示页面重新加载和页面刷新时新上传的图像

最初,图像显示在我从数据库(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 
} 
?> 

我上传的图片在数据库中保存和上传图片显示在点击上传按钮后,但当我重新加载页面或再次打开表单时,则没有图像。

+1

如果我们要查看哪里出错,我们将需要您的代码。 – Justice

+0

@ ShivanRaptor-我在这里复制了我的代码。现在你可以看看它。 –

+0

@ Justice - 我在这里复制了我的代码。现在你可以看看它。 –

回答

0

在脚本开始时,如果上传文件,则存储发布的文件。 然后从数据库中取出存储的图像进行显示。

编辑了解详情:

当您提交表单的PHP脚本,检查$ _FILES全球包含上传的文件。如果是这样,请将文件(最好使用新的随机名称)存储在映像目录中的某个位置以及数据库中的位置。然后在显示图像时进一步向下,从数据库中检索图像的url以放入img src标签。

但是你应该开始摆弄,直到它是正确的。

+0

@ BazzPsychoNut-其实我是新的PHP。你能进一步解释你试着说什么吗? –

+0

编辑答案的更多细节 – winkbrace

+0

@ BazzPsychoNut-我从数据库中上传图像,但它只是存储在数据库中不显示在网页上。 –

相关问题