Выгрузка настроек с html формы в файл

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

Рассмотрим возможность передачи данных в обработчик и возврат файла в браузер клиенту для скачивания

Создадим форму с данными






Добавляем кнопку «Выгрузить форму»

			

Создадим скрипт, который получит файл от обработчика с данными нашей формы и запустит скачивание файла браузером. Для начала отправим данные на сервер.

Сериалиуем данные формы $(‘#formSettings’).serialize() и отправляем методом POST через XMLHttpRequest в обработчик settings.php

		

На стороне сервера в файле settings.php создадим файл settings.dat, записываем в файл данные POST

// Путь к файлу
	$file_dat = "settings.dat";
	$r = $_POST;
	if ($F = fopen($file_dat, "w")) {
		fwrite($F, serialize($r));
		fclose($F);
	}			

сбрасываем буфер вывода PHP, чтобы не допустить переполнения памяти выделенной под скрипт, отправляем заголовки для скачивания файла браузером

  if (ob_get_level()) {
      ob_end_clean();
    }
    // отправляем заголовки
     header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . 
    basename($file_dat));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file_dat));			

Читаем файл и отправляем его пользователю

if ($fd = fopen($file_dat, 'rb')) {
      while (!feof($fd)) {
        print fread($fd, 1024);
      }
      fclose($fd);
    }			

Файл settings.php полностью

			

Дальше больше) в следующим тексте о том как загрузить данные полей и выполнить вставку в форму по файлу

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии