我有这样的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。
文件只是变量中的字符串。
没有必要做这些。检查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
没有必要做这些。检查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