2017-03-22 133 views
0

嘿,伙计们我的服务器目录中有大量的.mp3文件用于播放音乐,大多数文件不幸如下所示:(Artist _-_ SongName)。 是否有可能在php或js中创建脚本,这些脚本会将目录中的所有文件都删除并删除其中的'_'符号并留出空间?我会非常乐意帮助!重命名目录中的文件

+4

是的,这是* *可能的。你能分享你尝试过的吗? –

+0

@PiotrSikora很高兴答案帮助,随时接受答案 – JustBaron

+0

@PiotrSikora只是一个关于StackOverflow的说明......接受答案通常是很好的做法。你有7个问题都有答案,等待接受。它帮助其他用户找到类似问题的解决方案,并奖励那些花时间帮助OP的人;) – JustBaron

回答

2

尝试这样的事情...

foreach (glob('*.mp3') as $filename) { 
    rename($filename, str_replace('_', '', $filename)); 
} 
+0

非常整洁的解决方案。 – JustBaron

+0

但是,如果你有一个不同的过滤器,如'* .mp_3' –

1

您可以通过目录循环,并使用str_replace()rename()实现这一目标:

<?php 
# IgnoreFiles 
$IgnoreFiles = array(".","..","Thumbs.db"); 

# define your directory 
$MP3Directory = "your-directory"; 

# get directory files 
$MP3Files = scandir($MP3Directory); 

# loop through the files 
foreach($MP3Files as $MP3File){ 
    # make sure the file isn't in the "ignore" array 
    if(!in_array($MP3File, $IgnoreFiles)){ 
     # get file details 
     $MP3Details = pathinfo($MP3Directory."\\".$MP3File); 
     # make sure file extension is mp3 
     if(strtolower($MP3Details['extension']) == "mp3"){ 
      # find/replace 
      $NewFileName = str_replace("_"," ",$MP3File); 
     } 
     # rename file 
     rename($MP3Directory."\\".$MP3File, $MP3Directory."\\".$NewFileName); 
    } 
}  
?> 
+0

,那么这将取代扩展中的_这做了工作!巨大的感谢! –

+0

@PiotrSikora很高兴帮助,随时接受答案;) – JustBaron