我删除图像,我在我的表“横幅”,我的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');
}
什么是'取消链接()'的返回值?你有权删除这个文件吗?尝试添加'echo substr(sprintf('%o',fileperms($ folder。$ year。'/'。$ month。'/'。$ thumb)),-4);'给你的代码 –
非常奇怪,我把我的if(!empty($ _ GET ['delbannertr''))之外的unlink()部分放在它的外面,但它工作...但我只是想删除“delbannertrue”是否存在... – OzzC
感谢您的回答squeamish ossifrage但它不是那个问题,因为我之前说过的,如果我把这个unlink()部分,在我的if..it工程之外! – OzzC