第一种:


1


2




​$file​​ ​​= ​​​​'x.y.z.png'​​​​;​


​echo​​ ​​substr​​​​(​​​​strrchr​​​​(​​​​$file​​​​, ​​​​'.'​​​​), 1);​


解析:strrchr($file, '.') 

strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字​

第二种:


1


2




​$file​​ ​​= ​​​​'x.y.z.png'​​​​;​


​echo​​ ​​substr​​​​(​​​​$file​​​​, ​​​​strrpos​​​​(​​​​$file​​​​, ​​​​'.'​​​​)+1);​


解析:strrpos($file, '.') 

查找 "." 在字符串中最后一次出现的位置,返回位置 substr()从该位置开始截取

第三种:


1


2


3




​$file​​ ​​= ​​​​'x.y.z.png'​​​​;​


​$arr​​ ​​= ​​​​explode​​​​(​​​​'.'​​​​, ​​​​$file​​​​);​


​echo​​ ​​$arr​​​​[​​​​count​​​​(​​​​$arr​​​​)-1];​


第四种:


1


2


3




​$file​​ ​​= ​​​​'x.y.z.png'​​​​;​


​$arr​​ ​​= ​​​​explode​​​​(​​​​'.'​​​​, ​​​​$file​​​​);​


​echo​​ ​​end​​​​(​​​​$arr​​​​);  ​​​​//end()返回数组的最后一个元素​


第五种:


1


2




​$file​​ ​​= ​​​​'x.y.z.png'​​​​;​


​echo​​ ​​strrev​​​​(​​​​explode​​​​(​​​​'.'​​​​, ​​​​strrev​​​​(​​​​$file​​​​))[0]);​


第六种:


1


2




​.​​​​$file​​ ​​= ​​​​'x.y.z.png'​​​​;​


​echo​​ ​​pathinfo​​​​(​​​​$file​​​​)[​​​​'extension'​​​​];​


解析:pathinfo() 函数以数组的形式返回文件路径的信息。

包括以下的数组元素:


1


2


3




​[dirname]​


​[​​​​basename​​​​]​


​[extension]​


第七种:


1


2




​.​​​​$file​​ ​​= ​​​​'x.y.z.png'​​​​;​


​echo​​ ​​pathinfo​​​​(​​​​$file​​​​, PATHINFO_EXTENSION);​


总结:我个人比较喜欢第七种