我有这个 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.zip
.zip
我想做相反的事情,我希望函数在my没有扩展名的情况下返回。
my
该文件只是变量中的一个字符串。
不需要这一切。查看 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