2012-09-06 60 views
0

我有一個管理面板,其中有一個允許管理員從數據庫中刪除行的頁面。他們可以刪除的每一行都有一個存儲在服務器上的目錄中的關聯圖像。圖像路徑也存儲在數據庫中。從文件中刪除圖像,同時刪除mysql行

我需要的是當用戶從表中刪除一行時,我希望它也刪除圖像。

這是我的PHP從表中刪除行:

include('includes/temp.config.php'); 


    if (isset($_GET['id']) && is_numeric($_GET['id'])) 
    { 
      // get the 'id' variable from the URL 
      $id = $_GET['id']; 

      // delete record from database 
      if ($stmt = $link->prepare("DELETE FROM templates WHERE id = ? LIMIT 1")) 
      { 
        $stmt->bind_param("i",$id);  
        $stmt->execute(); 
        $stmt->close(); 
      } 
      else 
      { 
        echo "ERROR: could not prepare SQL statement."; 
      } 
      $link->close(); 

      // redirect user after delete is successful 
      header("Location: edit.php"); 
    } 
    else 
    // if the 'id' variable isn't set, redirect the user 
    { 
      header("Location: edit.php"); 
    } 

但我甚至不知道從哪裏開始刪除相關的圖像...任何幫助將不勝感激。

+0

投入手動搜索框中輸入「刪除」或「刪除文件與PHP」在谷歌就是你開始 – 2012-09-06 00:11:52

+0

嗯......謝謝你,但我不會在這裏問,如果我不已經去做。我知道那裏有關於如何做這樣的事情的信息,但是我沒有嘗試過。 –

+0

「但我沒有試過就是在工作」這將是一個不同的問題和更好的問題,沿着這條線:這是我試過的代碼...這是我期待的代碼...但這是發生了什麼事... – 2012-09-06 00:22:59

回答

4

unlink功能如何?

+0

我試了一些與unlink功能不同的東西,但我似乎無法讓它正常工作 –

0

我會要求用戶指定圖像,從數據庫中選擇圖像路徑,使用剛纔檢索的圖像路徑從文件系統中刪除圖像,然後從數據庫中刪除該行。

0
<?php 
require __DIR__ . "/config.php"; 

if(isset($_GET['id'])){ 
    $id=$_GET['id']; 
    $res=mysql_query("SELECT image FROM register where id= '$id'"); 
    $row=mysql_fetch_array($res); 
    $delete="delete from register where id= '$id'"; 
    $de = mysql_query($delete); 
    unlink("upload/".$row['image']); 
     if($de) 
    { 
     header("location:login.php"); 
    } 
    else 
    { 
     echo "error"; 
    } 
} 
?> 
+1

說明liitte位,這個答案是如何有用? – HaveNoDisplayName

+0

然而,如上所述,我很欣賞這種迴應,但解釋會有幫助。另外,出於安全目的,您應該使用PDO或MySQLi。 –