0

我有一个管理系统,可以动态添加个人资料页面 - 其中一部分将图像添加到目录中。当我添加图像时,它们都具有 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);
}

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

4

2 回答 2

2

在 php 中,您使用unlink函数来删除文件。只需将链接回显到调用函数的页面并传递图像名称即可。仅在实际执行删除之前务必检查用户输入。

于 2013-07-11T13:56:51.943 回答
1

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

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

这将取消以 example../images/company开头123_和结尾的名称的所有文件的链接.jpg(您可以使用GLOB_BRACE参数提供更多扩展名)

于 2013-07-11T14:10:40.607 回答