2017-03-22 137 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