如果文件存在,如何删除文件

时间:2014-06-29 11:21:19

标签: php

我正在尝试检查文件名的实例是否存在(尽管它是扩展名),然后将其删除。这就是我所做的不起作用......

$username  = $_POST["data"]["username"];

$mask = '../../files/' . $username . '.*';
if (file_exists($mask)) 
{
unlink ($mask);
} 

有人可以告诉我我做错了什么吗?我知道第一行是正确的,因为它正在与其他命令一起使用。只是不确定其余的。使用PHP 5.2

1 个答案:

答案 0 :(得分:0)

尝试:

$mask = "../../files/".str_replace("/","",$username).".*";
$glob = glob($mask);
if( $glob && count($glob) == 1) {
    unlink($glob[0]);
}

首先让您的代码更安全一些,因此恶意用户不能随意删除他们喜欢的任何内容。如果有多个文件匹配,它也拒绝删除东西。根据需要进行调整。

但是,恶意用户仍然可以使用您的代码删除...好吧,任何人的个人资料。可能想要正确防范;)