У меня есть сценарий PHP, который производит строку, которую я хочу загрузить в виде файла, нажав кнопку.
Я знаю, как сохранить строку в файле на веб-сервере и указать на нее ссылку, но это не то, что я хочу сделать.
Я хочу, нажав кнопку, чтобы передать файл пользователю, который содержит строку.
ОБНОВЛЕНИЕ: то, что я ищу, кое-что очень близко к этому:
<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA">text file</a>
Вопрос, который мне задают, это как мне преобразовать строку $ в эту часть base64 и что такое utf-16le ?? Может кто-нибудь объяснить это немного?
ОБНОВИТЬ на самом деле некоторые плохие парни почувствовали разочарование, что они не могут ответить, и закрыли тему. Не спрашивая меня. Вот, пожалуйста, примите это соревнование, чтобы набрать очки. Но я продолжил и нашел решение моего вопроса.
Вы просто должны добавить download = «file.txt»
<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA" download="file.txt">text file</a>
Таким образом, вы загружаете файл. не поток
повеселись.
Что вы хотите сделать, это сохранить файл на вашем сервере, а затем просто использовать HTML, как это:
<a href="http://example.com/files/myfile.txt" target="_blank">Download</a>
Конечно, некоторые js или jQuery будут динамически менять ссылку (не знаете, как это сделать? https://stackoverflow.com/a/179717)
Я бы отправил ответ из php-файла, который будет содержать имя файла или путь …
Также посмотрите на этот ответ
Это может быть решением:
<?php
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="yourfilename.ini"');
//output the contents the file should contain. For example:
echo "a=1\nb=2\nc=3";
?>
Нашел это Вот