Php сохранить html страницу

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

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

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

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

редактировать

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

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

 Your page content bla bla bla bla .  

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

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

 time()) ) < $content = file_get_contents($cacheFile); echo $content; >else < ob_start(); // write content echo '

Hello world to cache

'; $content = ob_get_contents(); ob_end_clean(); file_put_contents($cacheFile,$content); echo $content; > ?>

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

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

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

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

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

При желании он может пропустить код JavaScript, сохранить только содержимое страницы и сжать полученную страницу, удалив пробел.

Я чувствую, что вам нужно закручиваться, чтобы вы могли сохранить выход любых страниц. Используйте 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(, ""); // replace by url you want. fwrite($myfile, $txt); fclose($myfile); 

Источник

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

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

Вы задали тот же вопрос всего 14 часов назад: [Сохранение источника себя (PHP)] — почему бы вам не попытаться получить ответ вместо того, чтобы публиковать его снова? ( stackoverflow.com/questions/3769504/saving-source- of-self-php )

oezi — Похоже, я был прав в создании этого нового вопроса. Я получил правильный ответ . Новый вопрос, разные люди, разные ответы. Вы можете пойти дальше и закрыть этот вопрос сейчас.

Эти вопросы не совсем то же самое. Они очень похожи, но различаются по цели: здесь это сервер, а другой вопрос — это сам браузер.

6 ответов

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

 Your page content bla bla bla bla . 

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

У меня тоже был такой же вопрос. Спасибо за ответ. НО где этот yourpage.html сохраняется? Я не смог найти файл в моей директории

@Walahh Если chdir не был вызван, он должен находиться в той же папке запрошенного скрипта. Если вы не уверены, что это такое, вы можете вызвать getcwd .

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

 time()) ) < $content = file_get_contents($cacheFile); echo $content; >else < ob_start(); // write content echo '

Hello world to cache

'; $content = ob_get_contents(); ob_end_clean(); file_put_contents($cacheFile,$content); echo $content; > ?>

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

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

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

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

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

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

Спасибо, BalusC. Так что, если я использую var $ s = document.getElements . (в php), я могу записать весь var в файл на сервере?

JavaScript работает на веб-браузере, а не на веб-сервере. Вы знаете JS? В любом случае, учитывая ваш комментарий, я думаю, что этот ответ, в конце концов, не тот, который вам нужен 🙂 Вы, вероятно, скорее хотите сохранить сгенерированную PHP-страницу HTML, а не текущую открытую HTML-страницу (во всем ее текущем состоянии на стороне клиента). Проверьте ответ Холивира.

Источник

Как с помощью PHP сгенерировать и сохранить HTML файл?

Задача:
Пользователь заполняет форму. На основе введенных данных формируется HTML документ. Документ формируется с помощью простого PHP скрипта.
Как с помощью PHP сохранить и загрузить пользователю данный файл?

$htmlFile = $_POST['form-html']; //echo ($htmlFile); $shortfilename = file_put_contents('test.html', $htmlFile); $file = 'test.html'; function file_force_download($file) < if (file_exists($file)) < // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт // если этого не сделать файл будет читаться в память полностью! if (ob_get_level()) < ob_end_clean(); >// заставляем браузер показать окно сохранения файла header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); // читаем файл и отправляем его пользователю readfile($file); exit; > > file_force_download($file);

Работает только, если файл пустой.
В любом другом случае появляются ошибки вида:

Warning: Cannot modify header information — headers already sent by (output started at C:\OpenServer\domains\editor\save.php:5) in C:\OpenServer\domains\editor\save.php on line 18

Warning: Cannot modify header information — headers already sent by (output started at C:\OpenServer\domains\editor\save.php:5) in C:\OpenServer\domains\editor\save.php on line 19

Warning: Cannot modify header information — headers already sent by (output started at C:\OpenServer\domains\editor\save.php:5) in C:\OpenServer\domains\editor\save.php on line 20

Источник

Как HTML-результат работы PHP сохранить в файл?

Я не шибко знаю PHP, помогите!
Результат работы PHP передается Броузеру.
А как мне этот HTML-результат перенаправить (сохранить) в файл на Web-сервере под своим именем?

PS. Пример кода приветствуется!

chulim

Ты не совсем понимаешь что делает PHP.
ничего сохранять на сервере не надо. В двух словах PHP генерит HTML и этот результат сервер отдает в браузер клиенту.
Подробнее о принципах читать

GROMILA

Да знаю я это.
Мне нужно, чтобы он генерил страницу в файл, а не броузеру отдавал.
Нужно это для повышения быстродействия.
Я лично выполню один раз скрипт, а результат из файла уже пользователи сайта будут
много раз просматривать.
Перенаправить поток в файл.
Как?

jaunty

если тебе нужна статическая станица делай ее в редакторе
советую Notepad
для новичка лучший вариант

jaunty

если тебе нужна статическая станица делай ее в редакторе
советую Notepad
для новичка лучший вариант

Guest

jaunty похоже, вы не понимаете вопроса, поэтому не стоит так упорно объяснит вашу точку зрения

GROMILA, очнеь просто. В самом начале скрипта делаем ob_start();, в конце $output = ob_get_content();
и сохраняем содержимое $output в файл.

В результате, в браузер не будет выведено ничего, и на выходе получим файл text.txt с содержимым hello, world

jaunty

ob_start();
echo «hello, world»;
$output = ob_get_content();

$file = fopen(«text.txt»,»wt») or die(«err»);
fputs($file,$output);
fclose($file);
?>

Guest ты думаешь открыл америку?
тут не в программировании вопрос, а в сути серверных технологий
PHP не для того чтобы создавать статические страницы хотя можно и так извращаться
если тебе нужно создать большое колличество однотипных страниц воспользуйся HomeSite или чем-то подобным

О понял — это экстремальное программирование

Guest

jaunty, не прав, однозначно. Сразу видно, не разработаывал ты web систем, работающих под большой нагрузкой
Знаешь ли ты, что и в shop.by и в том же list.ru используется генерация статических страниц (по крайней мере использовалась не так давно, как сейчас понятия не имею). Если у сайта большая база и множество sql запросов, то нельзя делать динамические страницы — лучший выход это генерить из них статические, например, раз в сутки скриптом, работающим из крона.
По поводу открытия америки — человек, IMHO, задал конкретный вопрос, а вы сразу начинаете, мол, ты лох, и зачем это тебе в 99% случаев так поступают те, кто не знает верного ответа на заданный вопрос.
ЗЫ в моем коде есть ошибка — забыл кой чего.

chulim

Guest
Скорее это говорит о неправильном проектировании. Есть примеры в нете с десятками тысяч хитов на динамическом контенте.

jaunty

Если у сайта большая база и множество sql запросов, то нельзя делать динамические страницы — лучший выход это генерить из них статические, например, раз в сутки скриптом, работающим из крона.

Источник

Читайте также:  Webasist jenimsya ru shop php
Оцените статью