0

PBX システムからの通話録音の大きなリストがあり、それらをより管理しやすいフォルダーに分類する必要があります。

少し Linux 初心者なので、指定されたフォルダーを検索し、ファイルの日付に基づいてフォルダー階層に移動するにはどうすればよいでしょうか。

例 フォルダ構造として 2013/04/23 があります。

次に、日付のファイルがあります

20130403-blah283.mp3 20130403-blah284.mp3 20130403-blah285.mp3 20130403-blah286.mp3 20130403-blah287.mp3

など 助けていただければ幸いです。

4

1 に答える 1

0

これはあなたに出発点を与えるかもしれません:

  1. ファイルを取得する
  2. ファイルを繰り返す
  3. 新しいディレクトリ/ファイル名を作成
  4. 存在する場合はディレクトリを作成
  5. ファイルをコピー
  6. 古いファイルを削除

モデル:

<?php
$base_path = "/PATH_TO_FILES/";
//$files = glob($base_path."*.mp3");
$files = array('20130403-blah283.mp3','20130403-blah284.mp3','20130403-blah285.mp3','20130403-blah286.mp3','20130403-blah287.mp3'); // for testing

foreach($files as $file){
    $pieces = explode("-",$file);
    $new_filename = $pieces[1];
    $timestamp = $pieces[0];
    $directory = substr($timestamp,0,4)."/".substr($timestamp,4,2)."/".substr($timestamp,6)."/";
    if(!is_dir($base_path.$directory)){
        mkdir($directory,0777);
    }
    copy($base_path.$file,$base_path.$directory.$new_filename);
    //unlink($base_path.$directory.$new_filename); // DELETES OLD FILE ONLY UNCOMMENT WHEN YOUR READY!
}
于 2013-04-23T20:55:38.837 に答える