Функция для подготовки имени исполняемого файла

Хотел поработать с exec() в связке с ffmpeg.

$dir = "audio2/";
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file == '.' || $file == '..') {
                
            } else {
                $name = time();
                exec("ffmpeg -i {$dir}{$file} -c:a copy audio3/{$name}.aac");
            }
        }
        closedir($dh);
    }
}

Но на выход получал ошибки связанные с именем файла.

comp:/var/www/html/int/audio2$ ffmpeg -i Max David - Vibez (Official Video HD)1080p.mp4 -c:a copy audio3/1636167436.aac 

bash: синтаксическая ошибка рядом с неожиданным маркером «(»

comp:/var/www/html/int/audio2$ ffmpeg -i Max\ David\ -\ Vibez\ \(Official\ Video\ HD\)1080p.mp4 

Так мне имя файла подставляет терминал. Думал найти функцию подготовки имени файла в интернете, но не вышло. Может у кого-нибудь такая имеется?


Ответы (0 шт):