正在将unlink()与sql delete绑定



我设置了一个简单的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()函数合并到页面中,以便也从服务器中删除该文件?

只需将Unlink()与循环中类似:一起使用

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);

希望它能帮助你。

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

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

在查询或取消链接语句中使用$id之前,请确保正确转义$id。

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

最新更新