PHP';It’他做的比我想的还多

PHP';It’他做的比我想的还多,php,trim,Php,Trim,我正在尝试获取目录(/music/category/)中的mp3文件列表。然后我修剪目录,然后修剪mp3扩展 我遇到的一些文件的问题是,如果文件名以第3行字符串中的字母a、u、d、I、o(音频)开头,它会修剪它们 因此,一首名为“awesome”的歌曲最终显示为“wesome” 有人知道这是为什么吗 $files = glob('audio/' . $category . '/*.{mp3}', GLOB_BRACE); foreach($files as $file) { $tit

我正在尝试获取目录(/music/category/)中的mp3文件列表。然后我修剪目录,然后修剪mp3扩展

我遇到的一些文件的问题是,如果文件名以第3行字符串中的字母a、u、d、I、o(音频)开头,它会修剪它们

因此,一首名为“awesome”的歌曲最终显示为“wesome”

有人知道这是为什么吗

$files = glob('audio/' . $category . '/*.{mp3}', GLOB_BRACE);   
foreach($files as $file) {   
$title = trim($file, '/audio/' . $category . "/");  
$withoutExt = preg_replace("/\\.[^.\\s]{3,4}$/", "", $title);  
echo $withoutExt;
}

我会这样做:

$it = new FilesystemIterator('audio/' . $category, FilesystemIterator::SKIP_DOTS);
foreach ($it as $fileinfo) {
    echo $fileinfo->getBasename('.mp3'). "\n";
}
或:

阅读其文档,第二个参数是字符列表。
$files = glob('audio/' . $category . '/*.{mp3}', GLOB_BRACE);
foreach($files as $file) {
    echo pathinfo($file, PATHINFO_FILENAME);
}