ПРИМЕР
1) Пользователь входит в плейлист в <textarea>
- C: /music/foo.mp3
- C: /music/bar.mp3
- C: /music/hello.mp3
2) Они нажимают кнопку save . Я отправляю плейлист пользователя на сервер с AJAX.
3) Сервер форматирует текст с помощью PHP следующим образом:
<playlist>
<item>C:/music/foo.mp3</item>
<item>C:/music/bar.mp3</item>
<item>C:/music/hello.mp3</item>
</playlist>
4) Появляется диалоговое окно сохранения файла, в котором пользователю предлагается сохранить этот форматированный текст как playlist.m3u на своем жестком диске.
ВОПРОСЫ
A) Можно ли не записать файл на жесткий диск на сервере при создании этого файла m3u? Я не хочу, чтобы миллионы файлов забивали мой сервер. Я полагаю, что PHP может выводить форматированный текст и устанавливать заголовки для маскировки в виде файла.
B) Как получить всплывающее диалоговое окно сохранения файла для этого на лету файла? Если бы это был настоящий файл, я бы просто ответил PHP с указанием местоположения файла. Тогда я бы попросил JS вставить новый iFrame с этим местоположением. Но я не хочу писать файл на сервере, поэтому я не могу этого сделать.
new Ajax.Request(
'generateM3u.php',
onSuccess: function(transport) {
$$('body').first().appendChild(
new Element(
'iframe', {
src: transport.responseText
}
)
);
}
);