有没有办法让这个功能更好?

时间:2012-10-17 09:14:54

标签: php file-extension

  

可能重复:
  How to extract a file extension in PHP?

我在教程中找到了以下函数来获取文件的扩展名,但我认为它有点太长了。所以我认为有一种方法可以缩短它。

function getExtension($str) {
    $i = strrpos($str,".");
    if (!$i) return "";
    $l = strlen($str) - $i;
    $ext = substr($str, $i+1, $l);
    return $ext;
}

$str是文件名。
有没有办法缩短这个功能,而不影响稳定性和输出? 我做过这样的事情:

function getExtension($str) {    
    $ext = pathinfo($str)['extension'];
    return $ext;
}

但那对我不起作用,但可能我做错了。

3 个答案:

答案 0 :(得分:6)

正确的方法是使用pathinfo()功能。

$extension = pathinfo($filename, PATHINFO_EXTENSION);

答案 1 :(得分:2)

已移至:https://stackoverflow.com/a/12932338/367456 - 此答案将被删除。

答案 2 :(得分:0)

可能有以下几点:

function getExtension($filename)
{
    $parts = explode('.', $filename);

    if (sizeof($parts) > 1) {
        return array_pop($parts);
    }

    return '';
}
相关问题