我删除图像,我有在我的表"横幅",我的sql删除工作正常。
但是我也想从文件夹中删除我的图像,所以我使用unlink()来实现这个目的。
但它不工作,图像从数据库中删除,但不从文件夹中删除。
我真的不明白为什么会发生这种情况,因为目录是正确的!
这里有我要删除的操作链接:
echo ' <td>
<a href="dashboard.php?exe=banner/banners&delbanner='.$readBannerResult['id'].'&img='.$readBannerResult['img'].'">
Delete
</a>
</td>';
这里我有一个链接来确认删除:
echo '<span>You really want to Delete?
<a href="dashboard.php?exe=banner/banners">No</a>
<a href="dashboard.php?exe=banner/banners&delbannertrue='.$readBannerResult['id'].'">Yes
</a>
</span>';
这是我的php:
if(!empty($_GET['delbannertrue']))
{
$thumb = $_GET['img'];
$year = date('Y');
$month = date('m');
$folder = '../banner-images/';
if(file_exists($folder.$year.'/'.$month.'/'.$thumb) && !is_dir($folder.$year.'/'.$month.'/'.$thumb.'/'))
{
unlink($folder.$year.'/'.$month.'/'.$thumb);
}
$delbannerTrue = $_GET['delbannertrue'];
$delBanner = $pdo->prepare("DELETE FROM banners WHERE id =? ");
$delBanner->bindValue(1,$delbannerTrue);
$delBanner->execute();
header('Location: dashboard.php?exe=banner/banners');
}
您的代码正在寻找图像名称,注意:
$thumb = $_GET['img'];
unlink($folder.$year.'/'.$month.'/'.$thumb);
您的"确认删除"URL但是不包括img
参数。将它添加到URL中,就像您对最初的delete链接所做的那样,它应该没问题。
改变,
<a href="dashboard.php?exe=banner/banners&delbannertrue='.$readBannerResult['id'].'">Yes
<a href="dashboard.php?exe=banner/banners&delbannertrue='.$readBannerResult['id'].'&img='.$readBannerResult['img'].'">Yes