Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php复制网站_Php - Fatal编程技术网

用php复制网站

用php复制网站,php,Php,我不知道这是否可能,但我正在寻找一个PHP脚本来复制整个网站,这样我就可以保存在我的本地服务器上,并在互联网不在我的支配下查看它,就像这样 <?php function copyDir($source,$dest) { if(is_file($source)) { $cpy= copy($source, $dest); return $cpy; } if(!is_dir($dest)) { mkdir ($dest); }

我不知道这是否可能,但我正在寻找一个PHP脚本来复制整个网站,这样我就可以保存在我的本地服务器上,并在互联网不在我的支配下查看它,就像这样

 <?php    
function copyDir($source,$dest) {    
if(is_file($source)) {    
$cpy= copy($source, $dest);    
return $cpy;    
}    
if(!is_dir($dest)) {     
mkdir ($dest); }     
$dir= dir($source);    
while (false !== $entry = $dir->read()) {     
 if ($entry == "." || $entry == "..") {    
continue; }    
if ($dest !== "$source/$entry") {       
copyDir("$source/$entry", "$dest/$entry");    
}     
}    
$dir->close();    
return true;    
} ?>    

但是复制一个网站而不是目录。。。。
我希望这是有意义的

你所问的不是小事。您需要向讨论中的站点发送请求,将源代码下载到一个文件中,然后您需要解析DOM中的所有图像、脚本和样式表,并下载它们,同时保留目录结构


它与您提供的函数无关,该函数只在本地复制文件。

如上所述,您需要解析所有DOM,还需要查找链接,然后解析所有这些链接


而且,即使您能够做到这一点,请注意,您下载的某些内容可能是动态生成的,或者依赖于远程源。假设你得到了网站所有者的许可,为什么不直接要求将文件作为ZIP或tarball文件?

“一个”整个网站?或“你的”整个网站。这里显示的方法都是针对本地文件系统的,因此永远不会适用于外部站点。如果纯粹是本地的,那么你当然可以。。虽然在这种情况下,人们可能会想,为什么你会用php来做这件事……我仍然在学习web开发,并不总是可以使用internet。正如我所说,我仍在学习和测试,有时我会陷入困境,不得不回头看看w3schools或php.net,以刷新代码记忆。所以我想复制这些网站,这样我就可以离线检查它们……如果w3schools是你的基本信息源,你就有麻烦了:)但是如果你只需要本地的几个网站,有很多程序可以为你下载它们。(试试谷歌搜索“网站下载器”之类的东西)。PHP绝对不是你想用来下载一个网站的工具。我想PHP很可能是最简单的方法。好吧,我会试试看。谢谢Damien,我们不能在所有网站上都这么做,因为他们可能在所有情况下都没有给予许可。如果您尝试使用AJAX,那么浏览器本身不支持CORS@LifeHacker问题是关于PHP,而不是JavaScript。PHP不尊重CORS。以防万一,DOM不是JavaScript独占的。