Вывести массив байт пользователю
Есть необходимость динамически сгенерировать и вывести последовательность байт (так чтобы у пользователя при переходе на страницу скачался файл).
Все решения которые я нашел, связаны с выводом существующего файла, однако у меня нет возможности хранить сгенерированный файл на сервере постоянно. Как я могу сгенерировать и отдать пользователю этот массив в виде файла не выделяя для него места на хостинге навсегда? Расширение файла - 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);