2017-03-22 26 views
0

Hey Guys音楽を再生するために使用されているサーバーディレクトリに大量のammp .mp3ファイルがあります。ほとんどのファイルは残念ながらこのように見えます:(Artist _-_ SongName)。 ディレクトリ内のすべてのファイルを取り、 '_'記号を削除してスペースを残すスクリプトをphpまたはjsで作成できますか?私は本当に助けに感謝します!ディレクトリ内のファイルの名前を変更

+4

はい、それは* *可能です。あなたが試したことを分かち合うことができますか? –

+0

@PiotrSikora答えが助けられて喜んで、答えを受け入れることを自由に感じてください。 – JustBaron

+0

@PiotrSikora StackOverflowに関するちょっとしたメモ...回答を受け入れるのは一般的には良い習慣です。あなたは7つの質問を全て受け取り、受け入れを待っています。それは他のユーザーが同様の質問に対する解決策を見つけるのに役立つだけでなく、OPを助けるために時間をとる人に報いる); – JustBaron

答えて

2

は、あなたがあなたのディレクトリをループしてstr_replace()rename()を使用することによって、これを達成することができます...

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

非常にきちんとした解決策。 – JustBaron

+0

しかし、これは、 '* .mp_3'のような別のフィルタを持っている場合にも、拡張子の_を置き換えます。 –

1

をこのような何かを試してみてください:

<?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

That did the work!巨大なありがとう! –

+0

@PiotrSikora喜んで助けて、答えを受け入れることを自由に感じてください;) – JustBaron

関連する問題