如何从文件夹中删除单个文件?

时间:2017-05-04 03:18:06

标签: php

如何从文件夹中删除单个文件?当我单击我的删除链接时,它会从文件夹中删除所有上传的文件。

链接:

<td><a href="Ad_delete.php?$Id=<?php echo $Row['Id'];?>" onClick="return confirm('Are you sure you want to delete this selected file ?')">Delete</a>

代码:

<?php

// Including the database connection file
include_once 'Ad_updbconnect.php';

// Getting Id of the data from url
$Id = $_GET['Id'];

$Del = glob('uploads/*'); // Get all file names
foreach ($Del as $File) {
    if (is_file($File)) {
        unlink($File); // delete file !
    } 
}

// Deleting the row from table
$Result = mysqli_query ($Con, "DELETE FROM ibgsec_uploads WHERE Id=$Id");
$Row = mysqli_fetch_array($Result);

// Redirecting to the display page.
header("location: Ad_uploads.php");
?>

这是我正在做的唯一的事情,我已经尝试了很多方法来正确执行命令,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您的代码会明确删除上传中的每个文件。你有什么期望?

$Del = glob('uploads/*'); // Get all file names
foreach ($Del as $File) {
    if (is_file($File)) {
        unlink($File); // delete file !
    } 
}

$Id是文件名吗?似乎有风险,但您想要尝试将其与$File进行比较。将某些内容$File进行比较,否则您只是将它们全部删除。

您还在链接$Id<a href="Ad_delete.php?$Id=<?php echo $Row['Id'];?>"中命名您的参数,但将其设为Id$Id = $_GET['Id'];。然后通过在数据库查询中包含它来打开自己的SQL注入。