PHP + сгенерировать .html файл для скачивания - PullRequest
0 голосов
/ 04 мая 2018

Я не уверен, что здесь вообще нужно искать, поэтому я объясню, что я пытаюсь сделать.

В настоящее время у меня есть форма (несколько раскрывающихся списков, поля ввода и т. Д.) Когда форма отправлена, я в настоящее время генерирую «выходную страницу» для печати, в которой все введенные пользователем данные находятся в исходном состоянии формы ... с Кнопка «Печать документа» внизу.

В котором конечный пользователь будет распечатывать и писать в любых пользовательских / конкретных комментариев .. и т.д. ..

Выше все работает как задумано.

Однако ... произошло изменение направления ... и вместо того, чтобы распечатать его. (и от руки пишу любые пользовательские / уникальные комментарии от руки) ..

... они хотят иметь возможность ЗАГРУЗИТЬ страницу вывода / отображения в виде файла .html

(поэтому мне нужно сделать все ресурсы в файле ... и т. Д. Как стили и, возможно, на основе 64 кодировать любые / все изображения ... и т. Д.)

Поскольку я никогда не делал этого раньше ... Я даже не уверен, что я ищу?

Должен ли это быть отдельный (физический) файл .html? (как мне передать в него переданные данные / значения перед загрузкой?)

Должна ли быть просто огромная "строка", в которую я помещаю значения записей?

Но как только это будет завершено ... как мне предложить пользователю сохранить его в виде загружаемого файла .html?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Предположим, у вас есть $ html_string для обработки содержимого страницы, которую вы хотите загрузить. Будет полезно включить ссылки CSS.

<?php    
    $html_string.="<h1>This is your form</h1>";
    foreach ($_POST as $p=>$value) $html_string.="{$p} has {$value}";

    header('Content-Disposition: attachment; filename="readme.html"');
    // other header() calls you need
    die($html_string);    
?>

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

0 голосов
/ 04 мая 2018

Вы можете использовать атрибут «download» в теге «a» html:

<a href="http://example.com/some.html" download>Download</a> 

К сожалению, эта функция не поддерживается IE браузером .

...