我一直在一个严重依赖图像的网站上工作,因此我想实现在数据库或我存储它们的子目录中出现任何问题时进行清理的功能。如果出现问题,我的功能会删除数据库条目该图像不在子目录中,但如果图像不在数据库中,我删除子目录中的图像的功能似乎不起作用。这是我的代码(假设在 MySQL 数据库中名为“images”的表上有一个名为“location”的条目,有一个名为“images”的子目录,所有图像都有一个 jpg 扩展名,所有上传的图像都被赋予数据库中的键与子目录中的键相同):
foreach(glob("images/*.*") as $entry)
{
if (!mysql_num_rows(mysql_query("SELECT * FROM images WHERE location = '$entry'")))
{
if (preg_match("/jpg/", $entry))
{
unlink ($entry);
}
}
}
我进行了调试,子目录中的条目与数据库中的条目匹配,但尽管它们相等,但 SQL 查询返回的是空结果。