PHP删除图像

时间:2013-07-11 13:51:59

标签: php

我有一个动态添加配置文件页面的管理系统 - 其中一部分将图像添加到目录中。当我添加图像时,它们都具有名称格式,如12_1.jpg,12_2.jpg,32_1.jpg,32_9.jpg,其中下划线前面的数字是id $cid,下划线后面的数字是图像号。

我正在尝试找到一种方法来列出edit-images.php页面上的图像,并提供删除它们的选项(可能是图像名称旁边的链接,或者其他更好的方式)。

以下是查找我需要删除选项的图片的代码:

if ($handle = opendir('../images/company')) {
    while (false !== ($entry = readdir($handle))) {      
      if (substr(basename($entry), 0, 2) == $cid) {
        echo $entry . "<br>";
      }
    }
    closedir($handle);
}

我如何从这里删除指定的图像?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

在php中,您使用unlink功能删除文件。只需回显一个指向调用函数的页面的链接并传递图像名称。只有在实际执行删除之前,请务必检查用户输入。

答案 1 :(得分:1)

为什么要扫描文件的目录?您可以检查文件是否存在并将其删除。例如:

$files = glob("../images/company/$cid_*.jpg");
foreach($files as $file) {
  if(file_exists($file)) unlink($file);
}

这会将../images/company中的所有文件取消链接,例如以123_开头的名称,并以.jpg结尾(您可以使用GLOB_BRACE参数提供更多扩展名)< / p>