php获取文件扩展名

2013-07-11 00:28  1674人阅读  评论 (0)
Tags: php

推荐get_ext1和get_ext2,在各种文件名中均能测试通过,其他的特殊文件名会有bug.

$paths = array(
        '/home/dotcoo/avatar.img.jpg',
        '/home/www.dir/avatar.jpg',
        '/home/www.dir/avatar',
        '/home/wwwdir/avatar',
        '/home/wwwdir/avatar.',
);

foreach ($paths as $path) {
    for ($i=1; $i<=5; $i++) {
        $func = "get_ext$i";
        echo "$i: ", $func($path), '<br>';
    }
    echo '<br>';
}

function get_ext1($path) {
    return pathinfo($path, PATHINFO_EXTENSION);
}

function get_ext2($path) {
    return ltrim(strrchr(basename($path), '.'), '.');
}

function get_ext3($path) {
    $exts = explode('.', basename($path));
    return array_pop($exts);
}

function get_ext4($path) {
    $path = basename($path);
    echo substr($path, strrpos($path, '.')+1);
}

function get_ext5($path) {
    $path = basename($path);
    return substr($path, -strpos(strrev($path), '.'));
}
豫ICP备09035262号-1