Подтвердить что ты не робот

Сохранить текущую страницу как HTML для сервера

Какой подход может предложить кто-то предложить сохранить текущую страницу в виде HTML файла на сервер? В этом случае также обратите внимание, что проблема безопасности не.

Я потратил бесконечные часы на поиски этого и не нашел ни одной вещи.

Ваша помощь очень ценится, спасибо!

Edit

Спасибо всем за вашу помощь, это очень понравилось.

4b9b3361

Ответ 1

Если вы хотели сохранить вывод страницы в файле, вы можете использовать буферизацию для этого. Функция, которую вам нужно использовать, ob_start и ob_get_contents.

<?php
// Start the buffering //
ob_start();
?>
Your page content bla bla bla bla ...

<?php
echo '1';

// Get the content that is in the buffer and put it in your file //
file_put_contents('yourpage.html', ob_get_contents());
?>

Это сохранит содержимое страницы в файле yourpage.html.

Ответ 2

Я думаю, что мы можем использовать Функции контроля вывода PHP, вы можете сначала сохранить содержимое в переменную, а затем сохранить их в новом файл, в следующий раз вы можете протестировать его html файл, а затем визуализировать, чтобы еще раз сгенерировать страницу.

<?php
$cacheFile = 'cache.html';

if ( (file_exists($cacheFile)) && ((fileatime($cacheFile) + 600) > time()) )
{
    $content = file_get_contents($cacheFile);
    echo $content;
} else
{
    ob_start();
    // write content
    echo '<h1>Hello world to cache</h1>';
    $content = ob_get_contents();
    ob_end_clean();
    file_put_contents($cacheFile,$content);
    echo $content;
}
?>

Пример взято из: http://www.php.net/manual/en/function.ob-start.php#88212

Ответ 3

Используйте JavaScript для отправки document.getElementsByTagName('html')[0].innerHTML в виде скрытого входного значения или ajax на сервер. Это более полезно, чем выходная буферизация, если содержимое впоследствии перемещается/модифицируется JavaScript, что на стороне сервера может не иметь никакого понятия.

Ответ 4

Если вы хотите сохранить полную html-страницу вместе с css, изображениями и сценариями в одном html файле, вы можете использовать этот класс, который я написал:

Этот класс может сохранять HTML-страницы в комплекте с изображениями, CSS и JavaScript.

Он берет URL-адрес данной страницы и извлекает ее для хранения в заданном файл.

Класс может анализировать HTML и определять, какие изображения, CSS и Файлы JavaScript, которые ему нужны, поэтому эти файлы также загружаются и сохранен внутри HTML-страницы, сохраненной в локальном файле.

Возможно, он может пропустить код JavaScript, сохранить только страницу содержимое и сжатие результирующей страницы, удаляющей пробелы.

http://www.phpclasses.org/package/8305-PHP-Save-HTML-pages-complete-with-images-CSS-and-JS.html

Ответ 5

Я чувствую, что вам нужно завивать, чтобы вы могли сохранить выход любых страниц. Используйте curl with returntransfer true. и делайте все, что хотите, с выходом.

Ответ 6

//function to use curl to get the content of the page.
//parameter used url and $data for the posting credentials to retriev information.

function httpPost($url, $data){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
return $response;}

//
$filename="abc.html"; // whatever name you want.
$myfile = fopen($filename, "w") or die("Unable to open file!");
$txt =  httpPost(<url>, ""); //<url> replace by url you want.
fwrite($myfile, $txt);
fclose($myfile);