如何使用 glob 查找缩略图

How to use glob to find thumbnails

假设我上传了一个名为 myimage.jpg 的文件,我生成了该图像的缩略图,将宽度 x 高度附加到文件名。我可能有一个看起来像这样的图像目录:

myimage.jpg
myimage-100x50.jpg
myimage-500x250.jpg
myimage-430x300.jpg

当我想删除这张图片时,我需要同时删除所有的拇指。我如何使用 glob 来查找原始图像和所有缩略图,而不是目录中可能存在的任何其他图像?

我认为这可能适合你。

$images = glob('myimage*.jpg');
foreach($images as $image):
    delete($image); //whatever function you use to delete
endforeach;

我最后是这样做的:

// find all images that match the filename
foreach (glob(myimage.*) as $filename) {

    // use regex to filter out any that have a similar name and are not thumbs
    if(preg_match("/(\myimage-\b)[0-9]\d*x[0-9]\d*(\b.jpg\b)/", $filename)) {

        // delete the thumb
        unlink($filename);
    }
}

// delete the original image
unlink(myimage.jpg);