Intereting Posts
Как я могу использовать несколько типов содержимого заголовков PHP на одной странице? Это возможно? Как установить переменную на странице PHP, передать ее в файл CSS и присвоить ее одному атрибуту CSS? Лучше ли иметь две отдельные пользовательские таблицы или одну? Анализ данных кредитной карты с помощью считывателя магнитных полос с использованием javascript Защита API REST и Slim Framework Как преобразовать временную метку unix в метку времени ISO8601 в PHP? Условие выполнения в XPath Установка Laravel в подпапке плагин wordpress -> Вызов неопределенной функции wp_get_current_user () Проверка того, что mysql_query вернула что-либо или нет браузер игнорирует обновление заголовка из ответа ajax php – Как отслеживать страницы, посещаемые пользователями после выхода из моего сайта? Передача переменной JQuery в php в модальном Как получить URL-адрес текущего исполняемого PHP-скрипта? Контроллеры ресурсов Laravel для использования API и не-API

Как показать диалоговое окно «Сохранить как» с помощью PHP для текстовых файлов

Как я могу показать диалоговое окно «Сохранить как» с помощью PHP, который попросит пользователя загрузить строку в виде текстового файла? В основном я получаю некоторые значения из базы данных и хочу, чтобы вы могли загрузить .txt-файл, содержащий эти данные.

Это должно работать:

header('Content-type: text/plain'); header('Content-disposition: attachment; filename="test.txt"'); 

Просто чтобы расширить ответ @Emil H:

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

 <? header ("Content-Type: application/download"); header ("Content-Disposition: attachment; filename=$yourfile"); header("Content-Length: " . filesize("$yourfile")); $fp = fopen("$yourfile", "r"); fpassthru($fp); ?> 

Чтобы прояснить использование header () :

Официальное руководство по PHP :

header () используется для отправки необработанного HTTP-заголовка. См. «Спецификация HTTP / 1.1» для получения дополнительной информации о заголовках HTTP.

Помните, что header () должен быть вызван до отправки любого фактического результата либо с помощью обычных тегов HTML, пустых строк в файле, либо из PHP. Очень распространенная ошибка для чтения кода с функциями include () или require () , функций или другой функции доступа к файлам, а также пробелы или пустые строки, которые выводятся перед вызовом header () . Та же проблема существует при использовании одного файла PHP / HTML.

Таким образом, в основном вы меняете всю страницу, когда используете header (). Убедитесь, что единственное содержимое, которое вы эхо, это строка.