Отдать файл для скачивания пользователю

Отправляю POST с параметрами, получаю файл на скачивание. Пробую сделать подобное на php, но в консоле вижу только содержимое файлы, как отдать файл на скачивание пользователю ?

$params = array(
    'param1' => '123',
    'param2' => 'abc'
);
$result = file_get_contents($url, false, stream_context_create(array(
    'http' => array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => http_build_query($params)
    )
)));

echo $result;

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

Автор решения: js.student

Нашел решение. Нужно добавить в конец скрипта код.

if (ob_get_level()) { ob_end_clean(); }
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($name));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($name));
readfile($name);
exit;
→ Ссылка