使用php保存整个页面源代码

使用php保存整个页面源代码,php,Php,可能重复: 我需要使用PHP保存外部链接的页面源代码,就像我们在PC中保存一样。 p、 s:保存的文件夹包含图像和html内容 我尝试了下面的代码…它只是把源代码放在tes.html中,我还需要保存所有图像。所以我们可以脱机访问 <?php include 'curl.php'; $game = load("https://otherdomain.com/"); echo $game; ?> <?php file_put_contents('tes.html', $gam

可能重复:

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

我尝试了下面的代码…它只是把源代码放在tes.html中,我还需要保存所有图像。所以我们可以脱机访问

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

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

还支持http。例如:

$game = file_get_contents('https://otherdomain.com');

您可以编写自己的解决方案来解析所有CSS、图像和JS链接(并保存它们),也可以检查以下类似问题的答案:

您试图做的是镜像网站

我会使用程序
wget
来实现这一点,而不是重新发明轮子

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


你需要写一个刮刀,从表面上看,你还不具备这样的技能。考虑研究:

  • 网页抓取(cURL,PHP中的StreamContext,HTTP理论)
  • URL路径(相对、绝对、解析)
  • DOMDocumentDOMXPath(用于解析HTML和轻松的标记查询)
  • 整体HTML结构(IMG、链接、脚本和加载外部内容的其他标记)
  • 总体CSS结构(如CSS中加载页面所依赖资源的url(“…”))

  • 只有这样,你才能正确地镜像一个站点。但是如果他们像Ajax一样动态加载内容,那你就倒霉了。

    这不符合OP的要求抱歉,应该阅读完整的问题……你尝试了什么?只需解析HTML,并获取所需的所有属性。更改
    href
    属性,以便图像将离线加载,而Robert's your Uncles这不是一项简单的任务,使用curl无法轻松完成。图像位置必须从HTML源解析,获取图像并重写URL。CSS文件、JavaScript文件、背景图像也必须如此。。。有一些命令行工具在这方面做得更好。这是正确的术语!我冒昧地删除了您的问题。
    wget
    是否在没有
    --页面必备条件的情况下获取样式表和图像?我想,
    -m
    只跟在hrefs后面,这将把所有内容保存在哪里?@Vidya Venkat
    wget
    在当前工作目录中创建一个子目录,域名为。它不会在当前文件夹中保存任何内容…wget安装得很好!事实上,这是该问题的重复。