- Сохранить текущую страницу как HTML для сервера
- Related of «Сохранить текущую страницу как HTML для сервера»
- Сохранить текущую страницу как HTML на сервере
- 6 ответов
- Как с помощью PHP сгенерировать и сохранить HTML файл?
- Как HTML-результат работы PHP сохранить в файл?
- chulim
- GROMILA
- jaunty
- jaunty
- Guest
- jaunty
- Guest
- chulim
- jaunty
Сохранить текущую страницу как HTML для сервера
Какой подход может предложить кто-то предложить сохранить текущую страницу в виде HTML-файла на сервер? В этом случае также обратите внимание, что безопасность не является проблемой.
Я потратил бесконечные часы на поиски этого и не нашел ни одной вещи.
Ваша помощь очень ценится, спасибо!
редактировать
Спасибо всем за вашу помощь, это было очень признательно.
Related of «Сохранить текущую страницу как 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 запросов, то нельзя делать динамические страницы — лучший выход это генерить из них статические, например, раз в сутки скриптом, работающим из крона.