PHP

PHP,获取不带文件扩展名的文件名

发布于 2021-02-02 15:46:15

我有这个PHP代码:

function ShowFileExtension($filepath)
{
    preg_match('/[^?]*/', $filepath, $matches);
    $string = $matches[0];

    $pattern = preg_split('/\./', $string, -1, PREG_SPLIT_OFFSET_CAPTURE);

    if(count($pattern) > 1)
    {
        $filenamepart = $pattern[count($pattern)-1][0];
        preg_match('/[^?]*/', $filenamepart, $matches);
        return strtolower($matches[0]);
    }
}

如果我有一个名为的文件my.zip,则此函数返回.zip

我想做相反的事情,我希望函数my不带扩展名就返回。

该文件只是变量中的字符串。

关注者
0
被浏览
118
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    不需要所有这些。pathinfo()
    ,它为您提供了路径的所有组件。

    手册中的示例:

    $path_parts = pathinfo('/www/htdocs/index.html');
    
    echo $path_parts['dirname'], "\n";
    echo $path_parts['basename'], "\n";
    echo $path_parts['extension'], "\n";
    echo $path_parts['filename'], "\n"; // filename is only since PHP 5.2.0
    

    代码输出:

    /www/htdocs
    index.html
    html
    index
    

    或者,您只能获得某些部分,例如:

    echo pathinfo('/www/htdocs/index.html', PATHINFO_EXTENSION); // outputs html
    


推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看