判断是否为图片文件

有一种情况:我只想对图片文件进行操作。

//假设这是读取到的文件路径

$f = '123.png';

//这里弄一个配置,包含这些后缀的文件都是图片文件
$img = 'jpg,jpeg,png,gif';

//在文件路径中截取出后缀名
$k = strtolower(substr($f, strrpos($f, '.') + 1));

//判断文件后缀是否为配置里面的其中一个
if (in_array($k, explode(',', str_replace(' ', '', strtolower($img))))) {
    //好了,这个地方可写想要的逻辑了
}

为什么用strtolower函数呢,因为配置或读取时候,有可能出现大小写不一致的情况。

为什么使用str_replace函数替换掉了空格呢,因为配置是人写进去的,有可能打多了个空格。

还有,你看explode函数,把配置字符串变成一个数组,如果只有一次运行,这种写法没什么毛病,

如果放在一个循环里面呢,就浪费了,因为后缀配置是固定的,那么后缀数组也是固定的,这个固定的东西,用一个公共变量来存放它就好了。
 

2021-05-16 有友博客

友情链接: 佛山网站建设 集钱邮 钱币收藏 有友博客
©2016-2023 zengxy.com / 粤ICP备15062707号