php – SPLFileInfo:获取没有扩展名的文件名

我正在访问SPLFileInfo对象中的许多文件.我看到了获取文件的路径,文件名甚至扩展名的方法.有没有办法获得没有扩展名的文件名?这是我一直在使用的代码,但我希望得到更优雅的东西.有开箱即用的解决方案吗?
$file = new SplFileInfo("path/to/file.txt.zip"); 

echo 'basename: '.$file->getBasename();  
echo PHP_EOL;
echo 'filename: '.$file->getFilename();
echo PHP_EOL;    
echo 'extension: '.$file->getExtension();
echo PHP_EOL;    
echo 'basename w/o extension: '.$file->getBasename('.'.$file->getExtension());

>>OUTPUT
>>basename: file.txt.zip
>>filename: file.txt.zip
>>extension: zip
>>basename w/o extension: file.txt
我迟到了,所有的学分应该归@salathe作为第一个帮助OP的,但这里是 the link to PHP manual的basename函数.基本上,你获得扩展,然后前置一个点.最后使用basename函数获取名称,如下所示:
$file->getBasename('.' . $file->getExtension())

为了快速阅读,这里是PHP手册页的示例:

$info = new SplFileInfo('file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename('.txt'));

输出

string(8) "file.txt"
string(8) "file.txt"
string(4) "file"

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...