用sql删除绑定unlink()

时间:2011-06-23 18:45:38

标签: php delete-file unlink

我设置了一个简单的while循环,它返回表格中的所有图像及其各自的标题和描述,以便用户可以相应地更新每个图像的详细信息。

图像返回时带有一个复选框,允许用户根据php代码删除图像

if($_POST['doDelete'] == 'Delete') {

if(!empty($_POST['u'])) {
    foreach ($_POST['u'] as $uid) {
        $id = filter($uid);
        mysql_query("delete from landscape where id='$id'");
    }
 }
 $ret = $_SERVER['PHP_SELF'] . '?'.$_POST['query_str'];;

 header("Location: $ret");
 exit();
}

如何将unlink()功能合并到页面中,以便从服务器中删除文件?

3 个答案:

答案 0 :(得分:1)

只需使用Unlink() in循环:

foreach ($_POST['u'] as $uid) {
    $id = filter($uid);
    if(mysql_query("delete from landscape where id='$id'")){
    unlink( '/path/to/images/' . $id);
    }
}

我使用过If因为如果文件只从数据库中成功删除,那么它将从服务器中删除。 另外如果您已通过文件名将文件移动到文件夹中,则首先通过$id从数据库获取有关文件的信息,然后使用

unlink( '/path/to/images/' . $file_name);

代替

unlink( '/path/to/images/' . $id);

希望它会对你有所帮助。

答案 1 :(得分:0)

如果图像是根据ID命名的:

foreach ($_POST['u'] as $uid) {
    $id = filter($uid);
    mysql_query("delete from landscape where id='$id'");
    unlink( '/path/to/images/' . $id);
}

在查询或unlink语句中使用它之前,请务必正确转义$ id。

答案 2 :(得分:-1)

那么,服务器上存储的文件在哪里?它们是如何存储的?只需使用指向存储图像的文件路径调用unlink