确定已保存图像(或任何文件)的文件扩展名

时间:2016-07-07 23:05:15

标签: php file-type

确定已保存文件扩展名的最有效方法是什么,因为我只知道名称而不是扩展名?

有效的类型/扩展名为.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')) {...
}

有更有效的方法吗?

2 个答案:

答案 0 :(得分:1)

尝试{{3}}

这应检查文件的MIME并为您提供类型

答案 1 :(得分:0)

为了有效减少代码,你可以做到

$name = 'item23';
$images = glob("images/$name.???");
$image = $images ? $images[0] : '';

应返回与您的文件名匹配的第一个文件,无论它具有哪个扩展名,如果找不到匹配的文件,则返回''。我认为在执行时间方面也应该比检查file_exists三次更有效。

在我主动提出的观点中,我认为存储与文章相关的图像的完整路径并不是一个坏主意。