Создание XML-документа c последующим скачиванием.

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Alex_N
Сообщения: 68
Зарегистрирован: 2015.03.02, 21:20

Создание XML-документа c последующим скачиванием.

Сообщение Alex_N »

Здравствуйте! Помогите с решением следующей задачи: Сформировать XML файл и скачать его. Имена файлов будут каждый раз уникальные. Сейчас я генерирую xml-файл в экшене контроллера вот таким способом:

Код: Выделить всё

<?php
  $dom = new domDocument("1.0", "utf-8"); // Создаём XML-документ версии 1.0 с кодировкой utf-8
  $root = $dom->createElement("users"); // Создаём корневой элемент
  $dom->appendChild($root);
  $logins = array("User1", "User2", "User3"); // Логины пользователей
  $passwords = array("Pass1", "Pass2", "Pass3"); // Пароли пользователей
  for ($i = 0; $i < count($logins); $i++) {
    $id = $i + 1; // id-пользователя
    $user = $dom->createElement("user"); // Создаём узел "user"
    $user->setAttribute("id", $id); // Устанавливаем атрибут "id" у узла "user"
    $login = $dom->createElement("login", $logins[$i]); // Создаём узел "login" с текстом внутри
    $password = $dom->createElement("password", $passwords[$i]); // Создаём узел "password" с текстом внутри
    $user->appendChild($login); // Добавляем в узел "user" узел "login"
    $user->appendChild($password);// Добавляем в узел "user" узел "password"
    $root->appendChild($user); // Добавляем в корневой узел "users" узел "user"
  }
  $dom->save("users.xml"); // Сохраняем полученный XML-документ в файл
?>
Но при таком подходе файл сохраняется в папке с сайтом. Хранить его там не надо. Кроме кнопки формы есть еще поле, куда вводится значение, на основании которого формируются данные для генерации xml файла. Необходимо заполнять поле, нажимать кнопку формы и файл должен автоматически скачиваться на компьютер пользователя с заданным уникальным именем.

Как правильно уйти от сохранения в папку с сайтом и реализовать скачивание напрямую на компьютер пользователя по нажатию кнопки?

Заранее большое спасибо!
Аватара пользователя
bupy7
Сообщения: 57
Зарегистрирован: 2014.03.10, 14:40
Контактная информация:

Re: Создание XML-документа c последующим скачиванием.

Сообщение bupy7 »

Для создания XML документов посоветую это: https://github.com/bupy7/xml-constructor
XML-документ создается из массива. Все просто. Далее, вызовете

Код: Выделить всё

toOutput() 
для вывода.

Отправка файлов готова из коробки в Yii Framework. Ищите по соответствующим запросам в гугле.
Очень плохие и совсем бесполезные расширения: http://github.com/bupy7
Alex_N
Сообщения: 68
Зарегистрирован: 2015.03.02, 21:20

Re: Создание XML-документа c последующим скачиванием.

Сообщение Alex_N »

bupy7 писал(а):Для создания XML документов посоветую это: https://github.com/bupy7/xml-constructor
XML-документ создается из массива. Все просто. Далее, вызовете

Код: Выделить всё

toOutput()
для вывода.

Отправка файлов готова из коробки в Yii Framework. Ищите по соответствующим запросам в гугле.
Спасибо
Ответить