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 回答