0

可能重复:
保存整个网页

我需要使用 PHP 保存外部链接的页面源,就像我们保存在 PC 中一样。
ps :saved 文件夹包含图像和 html 内容。

我尝试了下面的代码......它只是将源代码放在 tes.html 中,我也需要保存所有图像。所以我们在离线时访问。

<?php
include 'curl.php';
$game = load("https://otherdomain.com/");
echo $game;
?>

<?php 
file_put_contents('tes.html', $game);
?>
4

4 回答 4

1

您正在尝试做的是镜像网站。

我会使用该程序wget来做到这一点,而不是重新发明轮子。

exec( 'wget -mk -w 20 http://www.example.com/' );

看:

于 2012-10-23T13:32:57.233 回答
0

编写自己的解决方案来解析所有 CSS、图像和 JS 链接(并保存它们)或检查类似问题的答案:https ://stackoverflow.com/a/1722513/143732

于 2012-10-23T13:32:49.077 回答
0

你需要写一个爬虫,从表面上看,你还不够熟练。考虑学习:

  1. 网页抓取(cURL、PHP 中的 StreamContext、HTTP 理论)
  2. URL路径(相对、绝对、解析)
  3. DOMDocumentDOMXPath(用于解析 HTML 和简单的标签查询)
  4. 整体HTML结构(IMG、LINK、SCRIPT 和其他加载外部内容的标签)
  5. 整体CSS结构(如 CSS 中的 url('...') 加载页面所依赖的资源)

只有这样,您才能正确地镜像站点。但是,如果它们像 Ajax 一样动态加载内容,那么您就不走运了。

于 2012-10-23T13:37:09.837 回答
-1

file_get_contents()也支持 http(s)。例子:

$game = file_get_contents('https://otherdomain.com');
于 2012-10-23T13:32:44.333 回答