我试图从一个不在表中的文件夹中删除图像我离解决方案只有一行之遥我不知道如何将查询结果与图像文件夹内容进行比较这就是我所拥有的
$link = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
$like = scandir('users/russromei');
foreach ($like as $thisFile) {
$rs = mysqli_query($link,"SELECT value FROM ppbv79_listings_media WHERE value like %$thisFile%");
if($thisFile != "." and $thisFile != ".."){
echo $thisFile."<br>";
****NEED TO COMPARE $thisfile with $rs???
/* if($thisFile != "." and $thisFile != ".."){
unlink ('sfbuyer/' . $thisFile);
} */
}
}
1条答案
按热度按时间r1zk6ea11#
使用预先准备好的语句,正如@martin所说,您的代码可能容易受到sql注入的攻击。除此之外,下面是一个如何删除数据库中不存在的文件的快速示例。
假设你有下表
你有一个文件夹(
img
)包含以下图像:在这里,你有两个选择;一种是获取文件中的每个图像,并检查它是否存在于数据库中,如果不存在,则删除它。
或者您可以从数据库中选择所有图像并删除不存在的图像(这就是我在这里要做的)。
那就够了。