我正在尝试检查文件名的实例是否存在(尽管它是扩展名),然后将其删除。这就是我所做的不起作用......
$username = $_POST["data"]["username"];
$mask = '../../files/' . $username . '.*';
if (file_exists($mask))
{
unlink ($mask);
}
有人可以告诉我我做错了什么吗?我知道第一行是正确的,因为它正在与其他命令一起使用。只是不确定其余的。使用PHP 5.2
答案 0 :(得分:0)
尝试:
$mask = "../../files/".str_replace("/","",$username).".*";
$glob = glob($mask);
if( $glob && count($glob) == 1) {
unlink($glob[0]);
}
首先让您的代码更安全一些,因此恶意用户不能随意删除他们喜欢的任何内容。如果有多个文件匹配,它也拒绝删除东西。根据需要进行调整。
但是,恶意用户仍然可以使用您的代码删除...好吧,任何人的个人资料。可能想要正确防范;)