сохранить переменную как TXT, но не на сервере - PullRequest
2 голосов
/ 14 ноября 2009

как я могу сохранить некоторые переменные в текстовом файле для пользователя? не хочу генерировать и хранить на моем сервере, просто хочу сгенерировать, а затем сохранить на своем компьютере, ничего не меняется на сервере

Кстати, эта операция тяжелая для ресурсов?

спасибо

Ответы [ 4 ]

5 голосов
/ 14 ноября 2009

Вы можете сделать это так:

header('Content-Type: text/plain');
header('Content-Disposition: attachment; filename=downloadedfile.txt');
echo "Text stuff! Cool!";

Если пользователь загружает эту страницу, появляется окно «Сохранить как», спрашивающее, где сохранить «downloadfile.txt», в котором будет содержаться «Text stuff! Cool!»

4 голосов
/ 14 ноября 2009

Вы можете намекнуть браузеру, что ваш ответ - это файл, который следует сохранить, используя заголовок Content-Disposition :

header('Content-Disposition: attachment; filename="filename.txt"');
header('Content-Type: text/plain');
echo "Desired file contents";

Обратите внимание, что это означает, что вы генерируете файл на сервере, что, как предполагает ваш вопрос, не то, что вам нужно. Вы можете создать содержимое файла в Javascript на стороне клиента, а затем создать ссылку, используя схему data uri , чтобы разрешить загрузку. Тем не менее, он поддерживается не всеми браузерами, вы не можете принудительно «сохранить как», и есть некоторые ограничения на размер того, что вы можете сгенерировать.

0 голосов
/ 14 ноября 2009

Я не уверен, что правильно понял ваш вопрос, но если вы хотите сохранить информацию на стороне клиента и получить ее позже, когда пользователь вернется, вы можете обработать состояние, используя:

0 голосов
/ 14 ноября 2009
header('Content-Type: text/plain');
echo "Text stuff! Cool!";

(По какой-то причине ТАК снял мой открывающий php-тег.)

...