我有变量$filename="filename.ext"
或$filename="filena.m.e.ext"
等等。如何从变量/字符串中提取扩展名(此处ext
)?变量可能会改变或者可能有多个点。在这种情况下,我想得到最后一个点之后的部分..
答案 0 :(得分:58)
请参阅answer:
$ext = pathinfo($filename, PATHINFO_EXTENSION);
答案 1 :(得分:4)
你可以定义一个这样的函数:
function get_file_extension($filename)
{
/*
* "." for extension should be available and not be the first character
* so position should not be false or 0.
*/
$lastDotPos = strrpos($fileName, '.');
if ( !$lastDotPos ) return false;
return substr($fileName, $lastDotPos+1);
}
或者您可以使用PHP内置的Spl_FileInfo对象
答案 2 :(得分:4)
您可以使用路径信息查询。
$info = pathinfo($file);
,其中
$info['extension']
包含扩展名
答案 3 :(得分:3)
答案 4 :(得分:2)
有很多方法可以做到这一点,例如使用explode()或使用preg_match和其他方法。
但我这样做的方式是with pathinfo:
$path_info = pathinfo($filename);
echo $path_info['extension'], "\n";
答案 5 :(得分:0)
你可以使用。来爆炸字符串,然后取最后一个数组项:
$filename = "file.m.e.ext";
$filenameitems = explode(".", $filename);
echo $filenameitems[count($filenameitems) - 1]; // .ext
// or echo $filenameitem[-1];