如何使用 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);
假设我上传了一个名为 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);