-2

我有以下代码从数据库中删除记录。但是我也希望它从服务器中删除关联的文件。其中一列包含文件的路径。有人可以解释我将如何在这里使用 unlink 功能吗?

<?php

 include('config.php');

 if (isset($_GET['id']) && is_numeric($_GET['id']))
 {    
     $id = $_GET['id'];      
     $result = mysql_query("DELETE FROM images WHERE id=$id")     
     or die(mysql_error());      
     header("Location: view.php");
 }   
 else    
 {
     header("Location: view.php");
 }

?>
4

3 回答 3

2

首先,修复您的SQL 注入漏洞。

要回答您的问题,首先您必须选择有关该本地文件的详细信息的记录。一旦你核对了数据库记录,你就失去了存储文件位置的唯一位置,所以首先获取该数据。

就这样,在伪代码中:

  1. 获取文件位置
  2. 删除文件
  3. 删除数据库记录
于 2012-04-04T22:03:05.697 回答
1

您可以先进行查询以检索图像名称,然后简单地删除文件:

unlink($theFilenameRetrievedFromDb);
于 2012-04-04T22:02:56.287 回答
1

您必须首先对数据库进行选择语句才能知道文件的路径。完成此操作后,您可以在此路径上使用 unlink,然后进行删除语句。

于 2012-04-04T22:03:34.703 回答