PHP获取文件后缀的7中方法

在日常的工作当中我们避免不了要经常获取文件的后缀名,今天我就整理了一下7种获取文件后缀的方法,希望对大家有所帮助。

$url = 'http://www.baidu.com/uploads/20185425.jpg';

get_ext1($url);

function get_ext1($url=''){
    $url = parse_url($url);
    $name = strrchr($url['path'],'.');

    p(strtolower(substr($name,1)));
}

get_ext2($url);

function get_ext2($url=''){
    $num = strrpos($url,'.');
    $name = substr($url,$num+1);
    p(strtolower($name));
}

get_ext3($url);

function get_ext3($url=''){
    $url = explode('/',$url);
    $file = $url[count($url)-1];
    $name = strstr($file,'.');
    p(strtolower(substr($name,1)));
}

get_ext4($url);
//explode和array_pop函数
function get_ext4($url=''){
    $url = explode('.',$url);
    p(array_pop($url));
}

get_ext5($url);
//pathinfo函数
function get_ext5($url=''){
    $url = pathinfo($url,PATHINFO_EXTENSION);
    p($url);
}

get_ext6($url);
//正则表达式
function get_ext6($url=''){
    $pattern = '#(.jpg|gif|png|jpeg|xls)#';
    if (preg_match($pattern,$url,$math)){
        p($math[0]);
    }
}

get_ext7($url);
//正则反向引用
function get_ext7($url=''){
    $pattern = '#.*?(\.[jpg|jpeg|gif|png])#';
    $match = preg_replace($pattern,'\\1',$url);
    p(substr($match,1));
}

function p($data){
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}
原文地址:https://www.cnblogs.com/phproom/p/9570519.html