如何在PHP中通过剪切链接删除文件

如何在PHP中通过剪切链接删除文件,php,html,file,get,web-development-server,Php,Html,File,Get,Web Development Server,我有一个页面,可以上传文件到服务器的文件夹中,并在MySQL中写入文件的引用。现在我可以通过点击链接来查看和下载这些文件 但是我还想从服务器的目录以及数据库中删除文件,这样文件名就不会出现在显示页面中。我有一个字体可怕的垃圾箱图标,我想删除当前文件,一旦我点击图标 我尝试了unlink和unset方法,并使用filepath作为参数,但它总是显示错误: Warning: unlink(uploads/75-horse.jpg): No such file or directory in C:\w

我有一个页面,可以上传文件到服务器的文件夹中,并在MySQL中写入文件的引用。现在我可以通过点击链接来查看和下载这些文件

但是我还想从服务器的目录以及数据库中删除文件,这样文件名就不会出现在显示页面中。我有一个字体可怕的垃圾箱图标,我想删除当前文件,一旦我点击图标

我尝试了
unlink
unset
方法,并使用filepath作为参数,但它总是显示错误:

Warning: unlink(uploads/75-horse.jpg): No such file or directory in C:\wamp64\www\mysite\upload-page.php on line 214
霉菌代码:


有谁能帮我弄清楚为什么会发生这样的错误,以及在PHP中删除文件的最佳实践吗

参考图像:

尝试两小时后更新: 最后,这个技巧帮助我删除文件而不显示任何错误/警告

if (isset($_GET['delete'])) {
if (is_file($_SERVER['mywebsite.se/'] . 'uploads/' . $current_file_name)) {
unlink($_SERVER['mywebsite.se/'] . 'uploads/' . $current_file_name);
}
}

但是,尽管从目录中删除了文件,但网页仍会显示带有删除图标的文件名。有谁能告诉我如何完全删除该行,以便删除的文件不再出现?

您能尝试使用文档根目录中的路径吗

unlink($_SERVER['DOCUMENT_ROOT'] . '/uploads/' . $current_file_name);
对于问题的第二部分,看起来您是在基于来自SQL查询的数据创建行。要停止正在创建的行,还需要在SQL中删除表中的数据,以便完全删除该行。如果使用预先准备好的语句,则如下所示

if (is_file($_SERVER['mywebsite.se/'] . 'uploads/' . $current_file_name)) {
    unlink($_SERVER['mywebsite.se/'] . 'uploads/' . $current_file_name);
    $stmt = $connection->prepare("DELETE FROM tableName WHERE ID = ?");
    $stmt->bind_param('s', $id);
    $result = $stmt->execute();
    $stmt->close();
}

我不了解php,但我使用jQuery和ajax、JSP做了同样的事情

我为文件行的delete-clicked-delete按钮创建了一个java页面,我在单击按钮时通过ajax调用了该行,并在ajax中以参数形式将文件名传递给数据

我想这部分是你做的

若要从“tr”网页中删除,请单击删除按钮上的jQuery

$(this).closest(tr).remove()以便将时间tr从您的网页中删除

当您刷新时,

您的页面仅创建存储在数据库中的tr数量(已删除的tr不显示)

您处理的是文件结构,您需要使用完整的服务器路径,我还不太清楚。我在Wamp服务器下的localhost中运行这个。在上传到real server之前,如何测试删除功能?我试过使用localserver的路径$file\u path=“localhost/mysite/uploads/$current\u file\u name”;它显示了相同的错误。wamp上的路径看起来像:
C:\wamp64\www\mysite
。它现在正在删除文件吗?A.norman,是的,但代码很少修改。你能看看我的更新吗?如果你能帮助我解决其他相关问题,我将不胜感激。