鉴于我只知道名称而不是扩展名,确定已保存文件的扩展名的最有效方法是什么?
有效的类型/扩展名为.jpg、.png和.gif
例如,每个项目都有一个图像,因此图像名称将是
item1.jpg or item1.png or item1.gif
item2.jpg or item2.png or item2.gif
etc.
到目前为止,我能想到的唯一方法是循环使用三种可能性
if(file_exists('item1.jpg')) {...
} elseif(file_exists('item1.png')) {...
} elseif(file_exists('item1.gif')) {...
}
有没有更有效的方法?
尝试mime_content_type
这应该检查文件的MIME并为您提供类型
为了在更少的代码方面提高效率,你可以这样做
$name = 'item23';
$images = glob("images/$name.???");
$image = $images ? $images[0] : '';
它应该返回与您的文件名匹配的第一个文件,无论它具有哪个扩展名,或者如果没有找到匹配的文件,则返回''
。我认为这在执行时间方面也应该比检查file_exists
三次更有效。
在我的不请自来的意见中,我认为存储与您的文章相关的图像的完整路径并不是一个坏主意。