PHP Скачать файл при конвертации - PullRequest
0 голосов
/ 20 мая 2019

Мне нужен способ скачать mp3-файл, пока он конвертируется из m4a в mp3.

Я попробовал этот код, и он работает, но, когда я играю песню, она имеет неправильную продолжительность, если песня имеет длину 3 минуты, то при загрузке через эту функцию эта функция имеет 3:40 или около того

set_time_limit(0);
$local_file = 'song.mp3';
$download_file = 'song.mp3';
if(file_exists($local_file) && is_file($local_file)) {
header('Content-Description: file transfer');
header('Content-Disposition: attachment; filename='.$download_file);
header("Content-Transfer-Encoding: binary"); 
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3"); 
$perSecond = 500000; 
$file = fopen($local_file, 'r');
while(!feof($file)) {
    echo fread($file, $perSecond);
    flush();
    sleep(11);
}

}

Есть ли способ сделать это? Спасибо!

1 Ответ

1 голос
/ 20 мая 2019

возможно использовать sendfile для потоковой передачи файла? При использовании fopen для нетекстовых файлов укажите двоичный режим с флагом b: fopen($path, 'rb').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...