从文件名获取扩展名,如变量

发布于 2024-11-15 10:09:26 字数 371 浏览 2 评论 0原文

可能的重复:
如何在 PHP 中提取文件扩展名?

我有一个变量 $filename="filename.ext"$filename="filena.meext" 等等..我如何提取扩展名(此处 ext< /code>) 来自变量/字符串?变量可能会改变或者可能有多个点。在这种情况下,我想得到最后一个点之后的部分。

Possible Duplicate:
How to extract a file extension in PHP?

I have a variable $filename="filename.ext" or $filename="filena.m.e.ext" or so on.. How can i extract the extension (here ext) from the variable / string? The variable may change or may have more than one dots.. In that case, i want to get the part after the last dot..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

折戟 2024-11-22 10:09:26

请参阅答案

$ext = pathinfo($filename, PATHINFO_EXTENSION);

see the answer :

$ext = pathinfo($filename, PATHINFO_EXTENSION);
原野 2024-11-22 10:09:26

您可以使用路径信息询问。

$info = pathinfo($file);

其中

$info['extension']

包含扩展名

You can use the path info interrogation.

$info = pathinfo($file);

where

$info['extension']

contains the extension

〗斷ホ乔殘χμё〖 2024-11-22 10:09:26

你可以定义这样的函数:

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);
}

或者你可以使用 Spl_FileInfo PHP 内置对象

you could define a function like this:

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);
}

or you could use the Spl_FileInfo object built into PHP

ˉ厌 2024-11-22 10:09:26

您想使用正则表达式:

preg_match('/\.([^\.]+)$/', $filename);

您可以在此处进行测试,看看是否可以根据您的输入,它会为您带来您想要的结果。

You want to use a regular expression:

preg_match('/\.([^\.]+)$/', $filename);

You can test it out here to see if it gets you the result you want given your input.

梦幻的心爱 2024-11-22 10:09:26

有很多方法可以做到这一点,即使用explode()或使用preg_match等。

但我这样做的方式是使用pathinfo

$path_info = pathinfo($filename);

echo $path_info['extension'], "\n";

There are many ways to do this, ie with explode() or with a preg_match and others.

But the way I do this is with pathinfo:

$path_info = pathinfo($filename);

echo $path_info['extension'], "\n";
无人问我粥可暖 2024-11-22 10:09:26

您可以使用 . 分解字符串,然后获取最后一个数组项:

$filename = "file.m.e.ext";
$filenameitems = explode(".", $filename);

echo $filenameitems[count($filenameitems) - 1]; // .ext
// or echo $filenameitem[-1];

You could explode the string using ., then take the last array item:

$filename = "file.m.e.ext";
$filenameitems = explode(".", $filename);

echo $filenameitems[count($filenameitems) - 1]; // .ext
// or echo $filenameitem[-1];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文