2014-02-13 72 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-我從數據庫中上傳圖像,但它只是存儲在數據庫中不顯示在網頁上。 –

相關問題