将已处理的mp3文件从一个目录复制到php中的另一个目录

时间:2019-05-17 01:34:58

标签: php

我正在处理如下所示的php代码,该代码使用ffmpeg 将 mp4文件转换为mp3。转换后,所有内容都会进入 outgoing_folder

<?php
const DS = '/';
$src_dir    = 'incoming_folder';   /* Place where mp4 file is present */

$destination = 'outgoing_folder';  /* Place where mp3 files come after conversion from mp4 */

$mp3_processed = 'podcast_mp3_processed'; /* Place where I also want mp3 files */

foreach ($mp4_files as $f)
{

    $parts = pathinfo($f);
    switch ($parts['extension'])
    {
        case 'mp4' :
            $filePath = $src_dir . DS . $f;
            system('ffmpeg -i ' . $filePath . ' -map 0:2 -ac 1 ' . $destination . DS . $parts['filename'] . '.mp3', $result);    /** Place where mp3 file goes after conversion from mp4 **/

            if ($result)
            {
                // Do something with result if you want
                // log for example
            }
            break;

        case 'mp3' :
            // copy($f, $destination. DS . $parts['filename']. '.' . $parts['extension']);
            copy($f, $destination . DS . $parts['filename'] . '.mp3');
            copy('outgoing_folder', 'podcast_mp3_processed');   /* Line #A */
            break;
    }
}
?>

问题陈述:

我想知道我需要在上面的php代码中进行哪些更改,以便当所有mp4文件都转换为mp3时,它也应该转到 podcast_mp3_processed 文件夹。

此刻它正在运行outgoing_folder,但我也希望它进入 podcast_mp3_processed 文件夹。我在 Line#A 上尝试了该代码,但似乎不起作用。

1 个答案:

答案 0 :(得分:0)

您正在尝试复制目录,PHP复制功能仅处理文件。 参考:https://www.php.net/manual/en/function.copy.php

您可以通过复制行#A 来更改行号,然后只需使用$destination更改目录变量$mp3_processed

copy($f, $mp3_processed. DS . $parts['filename'] . '.mp3');