php获取图片类型(图片格式、扩展名)的方法。给定一张图片的路径,我们怎么获取这张图片的类型格式?本方法需要的前置知识是数组。思路是:我们利用PHP的explode函数把图片的路径打散分块装入一个数组里,再用count函数统计一下数组的大小,得到这个下标后减去1就是图片扩展名的下标。然后处理一下统一转为小写(有的图片格式有时是大写),再输出就可以了。
代码如下:
<?php
//将图片路径保存到$str字符串变量中
$str = "http://www.geekercode.com/upload/thumbnail/202109/1_20_1630984420.JPEG";
//将字符串打散分装为数组$extend
$extend = explode("." , $str);
//取数组$extend最大的下标(即数组$extend大小-1为最大下标),并用strtolower函数将大小转为小写
echo strtolower($extend[count($extend) - 1]);
//输出结果为:jpeg
?>
要分拆看一下数组,代码如下:
<?php
$str = "http://www.geekercode.com/upload/thumbnail/202109/1_20_1630984420.JPEG";
$extend = explode("." , $str);
echo strtolower($extend[count($extend) - 1]);
print_r($extend);
?>
输出结果为:
Array
(
[0] => http://www
[1] => geekercode
[2] => com/upload/thumbnail/202109/1_20_1630984420
[3] => JPEG
)
亦即:
count($extend);//值等于4
count($extend)-1;//值等于3
$extend[count($extend) - 1];//就是$extend[3]
再进一步,我们把这个功能封装成一个函数:
/**
* ================================================================================================
* 获取文件后缀名
* ================================================================================================
*/
function GetFileType( $filename ) {
$extend = explode( "." , $filename );
return strtolower( $extend[count( $extend ) - 1] );
}
这个函数不仅限于读取图片类型,对任意文件类型适用。