Я создаю XML-файл на лету. Когда пользователь создает этот файл, я хочу, чтобы он открыл диалоговое окно загрузки файла с созданным содержимым. Фактического файла нет, потому что он просто генерируется через php. Есть идеи как это сделать?
Вот что у меня сработало. В readfile('newfile.xml'); убедитесь, что правильно указан путь к файлу. Эта php-страница вызывается с html-страницы с тегом привязки, который говорит - скачать:
readfile('newfile.xml');
<?php header('Content-disposition: attachment; filename="newfile.xml"'); header('Content-type: "text/xml"; charset="utf8"'); readfile('newfile.xml'); ?>
источник: Как заставить браузер загружать файл на диск вместо его воспроизведения или отображения?
Отправка заголовка содержимого заголовка.
header('Content-disposition: attachment; filename=advertise.xml'); header ("Content-Type:text/xml"); //output the XML data echo $xml; // if you want to directly download then set expires time header("Expires: 0");