Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Кнопка сохранить в файл (https://javascript.ru/forum/events/9557-knopka-sokhranit-v-fajjl.html)

B~Vladi 24.05.2010 23:41

Во-первых, почитай документацию PHP - установка заголовков должна идти ДО! вывода контента. Во вторых создай на серве текстовый файл, засунь в него данные и уже его отправляй в ответе с правильным mime-type, тогда браузер предложит его сохранить.

Gvozd 25.05.2010 00:53

Цитата:

Сообщение от mff
$_POST["output"]

Цитата:

Сообщение от mff
$HTTP_POST_VARS["output"]

почитайте внимательно справку PHP
Первый вариант-правильный, второй-нет
ну, а остлальное уже сказали

mff 25.05.2010 01:04

Спасибо, вопрос решил! Убрал из формы enctype="text/plain" :)
Цитата:

Сообщение от B~Vladi (Сообщение 56403)
Во вторых создай на серве текстовый файл, засунь в него данные и уже его отправляй в ответе с правильным mime-type, тогда браузер предложит его сохранить.

Вариант с Content-Disposition: attachment; меня полностью устраивает, проверил в IE, FF, Google Chrome и в Opera. Не работает только в Opera

Kolyaj 25.05.2010 09:21

Цитата:

Сообщение от mff
Не работает только в Opera

Поищи по форуму, кто-то где-то писал решение.

mff 26.05.2010 14:21

Kolyaj,
Спасибо вам большое! Нашел на форуме, вот решение:
header("Content-type: application/x-download");
и вот что получилось в итоге:
<?php
if($_POST["format"]=="1"){$filename = "playlist.m3u";}
if($_POST["format"]=="2"){$filename = "playlist.xspf";}
if($_POST["format"]=="3"){$filename = "playlist.wpl";}
if($_POST["format"]=="4"){$filename = "playlist.pls";}
header("Content-type: application/x-download");
header("Content-Disposition: attachment; filename=$filename");
echo str_replace('\\', false, $_POST["output"]);
?>


Часовой пояс GMT +3, время: 08:24.