Вывести массив байт пользователю

Есть необходимость динамически сгенерировать и вывести последовательность байт (так чтобы у пользователя при переходе на страницу скачался файл).

Пример найденного решения

Все решения которые я нашел, связаны с выводом существующего файла, однако у меня нет возможности хранить сгенерированный файл на сервере постоянно. Как я могу сгенерировать и отдать пользователю этот массив в виде файла не выделяя для него места на хостинге навсегда? Расширение файла - exe.


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

Автор решения: Stepan

@splash58 навел меня на ответ. Созданный через tmpfile файл отлично справляется с этой задачей.

$content = file_get_contents('file.exe') . $somedata;

$temp = tmpfile();

write($temp, $content);

fseek($temp, 0);
    
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"file.exe" . "\"");

echo fread($temp, strlen($content));

fclose($temp);
→ Ссылка