Файл, загруженный с заголовками, не работает

Я пытаюсь скачать аудио OGF файл с динамическим URL

function getAudio($fileName){

$localFile = __DIR__ . '/../../../shared/call_review/' . $fileName;
$fp = fopen($localFile, 'r');
$fp or die('Could not open file "' . $fileName . '"' . PHP_EOL);

$contents = fread($fp, filesize($localFile));
$contents or die('could not read file');

header('Content-Description: File Transfer');
header('Cache-Control: public');
header('Content-Type: audio/ogg');
header("Content-Transfer-Encoding: binary");
header('Content-Length: '.filesize($contents));
header("Content-Type: audio/ogg");
header("Content-Disposition: attachment; filename=" . $fileName);

echo $contents;
exit();
}

Но после сохранения файла он не работает или поврежден.

0

Решение

Проблема, кажется, заключается в следующем:

header('Content-Length: '.filesize($contents));

Размер файла должен исходить из filesize($localFile) как продемонстрировали несколько строк ранее,
так и должно быть:

header('Content-Length: '.filesize($localFile));

Или просто используйте длину $contents переменная:

header('Content-Length: '.strlen($contents));
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector