我正在访问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())
$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"