Задать вопрос

Как скачать динамически созданный файл и сделать location этой страницы?

У меня динамически создается файл с каким-то текстом, нужно его скачать, а после сделать header("Location").
Я не понимаю как это сделать, ведь я посылаю браузеру заголовок:

header('Content-disposition: attachment; filename=test.txt');
header('Content-type: text/plain');
echo "Что-то пишем в файл";

header('Location: ' . $_SERVER["REQUEST_URI"]);


И естественно выдает ошибку, потому что текст уже выводится, а после мы еще посылаем заголовки
Можно как-то это пофиксить или предложите варианты альтернативы(Файл на сервере хранить не очень хочется)
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
@yevgenyyakushov Автор вопроса
Григорий Васильков, в общем, сделал через js, но не знаю насколько это хорошо, просто вариантов больше не вижу, ибо генерируются уникальные значения, а потом уходят в hash, после чего делаю хук на js

<a download="password.txt" id="data" href="#" style="display: none;"></a>
<script>
	var type = "data:application/octet-stream;base64, ";
	var text = "Данные для авторизации \\r\\nЛогин: ' . $login . ' \\r\\nПароль: ' . $password . '";
	var base = btoa(unescape(encodeURIComponent(text)));
	var res = type + base;
	document.getElementById("data").href = res;
	document.getElementById("data").click();
	location.href=location.href;
</script>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы