Какой подход может предложить кто-то предложить сохранить текущую страницу в виде HTML-файла на сервер? В этом случае также обратите внимание, что безопасность не является проблемой.
Я потратил бесконечные часы на поиски этого и не нашел ни одной вещи.
Ваша помощь очень ценится, спасибо!
редактировать
Спасибо всем за вашу помощь, это было очень признательно.
Если вы хотели сохранить вывод страницы в файле, вы можете использовать буферизацию для этого. Функция, которую вам нужно использовать, – 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
.
Я думаю, что мы можем использовать функции управления выходом 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
Используйте JavaScript для отправки document.getElementsByTagName('html')[0].innerHTML
как скрытое входное значение или ajax на сервер. Это более полезно, чем выходная буферизация, если содержимое впоследствии перемещается / модифицируется с помощью JavaScript, о чем на стороне сервера не может быть и речи.
Если вы хотите сохранить полную 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
Я чувствую, что вам нужно закручиваться, чтобы вы могли сохранить выход любых страниц. Используйте curl with returntransfer true. и делайте все, что хотите, с выходом.
//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);