PHP – Как программно выпекать статический HTML-файл?

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

Solutions Collecting From Web of "PHP – Как программно выпекать статический HTML-файл?"

В начале вашего сценария укажите это:

<?php ob_start(); ?> 

В самом конце скрипта поместите это:

 <?php $myStaticHtml = ob_get_clean(); // Now you have your static page in $myStaticHtml ?> 

Ссылка на буферизацию вывода здесь:

http://php.net/manual/en/book.outcontrol.php
http://www.php.net/manual/en/function.ob-start.php
http://www.php.net/manual/en/function.ob-end-clean.php

 <?php ob_start(); // start output buffering echo "your html and other PHP"; // write to output buffer file_put_contents("file.html", ob_get_contents()); // write the contents of the buffer to file ob_end_clean(); // clear the buffer 

Где-то в верхней части вашего файла PHP:

 ob_start(); 

После обработки:

 $output = ob_get_clean(); file_put_contents('filename', $output); 

И если вы также захотите вывести его для этого процесса (например, если вы хотите писать кеш во время выполнения, но также показывать эту страницу этому пользователю:

 echo $output; 

Просмотрите источник HTML в браузере и сохраните его.

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

Самый простой способ – открыть страницу и скопировать «источник просмотра»,
Вы также можете использовать
php function $homepage = file_get_contents('http://www.example.com/');

и сохранить его в файле

Из связанных должностей:

 <?php job_start(); // your PHP / HTML code here file_put_contents('where/to/save/generated.html', ob_get_clean()); ?> 

Вы также можете сделать это с помощью wget

Например:

 $ wget -rp -nH --cut-dirs=1 -e robots=off http://www.domain.com/