我有以下代码从数据库中删除记录。但是,我希望它也从服务器中删除关联的文件。其中一列包含文件的路径。有人可以解释我将如何使用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");
}
?>
答案 0 :(得分:2)
在其他任何事情之前,请修复SQL injection个洞。
要回答您的问题,首先您必须选择记录以获取有关该本地文件的详细信息。一旦你破坏了数据库记录,你就丢失了存储文件位置的唯一地方,所以首先获取该数据。
这是伪代码:
答案 1 :(得分:1)
您可以先执行查询以检索图像名称,然后只需删除文件:
unlink($theFilenameRetrievedFromDb);
答案 2 :(得分:1)
您必须先向数据库创建一个select语句,以了解文件的路径。完成此操作后,您可以在此路径上使用取消链接,然后创建删除声明。