试图取消链接()我的图像的奇怪问题

时间:2014-05-18 21:55:35

标签: php

我删除了我的表格中的图像"横幅",我的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');

         }

1 个答案:

答案 0 :(得分:2)

您的代码正在寻找图片名称,请注意:

    $thumb = $_GET['img'];

    unlink($folder.$year.'/'.$month.'/'.$thumb);

但是,您的“确认删除”网址不包含img参数。 将其添加到URL,就像使用初始删除链接一样,它应该没问题。

更改,

<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