Как вы программно конвертируете динамический PHP-файл в статический HTML-файл, который, очевидно, будет иметь все динамические значения, связанные с 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/