源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

自己写的php curl库实现整站克隆功能

  • 时间:2022-02-01 04:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:自己写的php curl库实现整站克隆功能
有时候经常会用到一些在线手册,比如国内或国外的,有些是访问速度慢,有些是作者直接吧网站关闭了,有些是服务器总是宕机,所以还是全盘克隆到自己服务器比较爽。 库特点: 给定一初始连接,初始链接以下的层级所有文件会拷贝到本地。 多次克隆可以配置是否覆盖。 可以配置是否下载图片。 所有链接替换为相对链接,所以可以随便rewrite。 绝对不会出现文件覆盖等问题。 最NB的特点是,没有比这更NB的库了。 SVN:[url=http://svn.phpdr.net/repos/ares/php/library/trunk/lib/CurlMulti/MyCurl/Clone.php]http://svn.phpdr.net/repos/ares/php/library/trunk/lib/CurlMulti/MyCurl/Clone.php[/url] 编程素材网下载:[url=http://xiazai.jb51.net/201502/other/CurlMulti.rar]http://xiazai.jb51.net/201502/other/CurlMulti.rar[/url] 克隆结果展示(这个克隆操作几秒钟就完成了): 克隆源网站:[url=http://www.laruence.com/manual/]http://www.laruence.com/manual/[/url] 克隆结果:[url=http://manual.phpdr.net/yaf/]http://manual.phpdr.net/yaf/[/url] Demo代码:
[u]复制代码[/u] 代码如下:
<?php class Controller_Spider extends MyYaf_Controller_Base{  function init(){   parent::init();   if(!$this->getRequest()->isCli()){       Ares_Http::error403();   }   include 'CurlMulti/CurlMulti.php';   include 'CurlMulti/MyCurl.php';   include 'phpQuery.php';  } }
[u]复制代码[/u] 代码如下:
<?php class YafdocController extends Controller_Spider {  function init() {   parent::init ();   include 'CurlMulti/MyCurl/Clone.php';  }  function indexAction() {   $url = 'http://www.laruence.com/manual';   $dir = Yaf_Application::app ()->getAppDirectory () . '/data/manual';   $cacheDir = $this->getBaseDir () . '/cache/curl';   if (! is_dir ( $cacheDir )) {    mkdir ( $cacheDir );   }   $curl = new CurlMulti ();   $curl->maxThread = 10;   $curl->cache ['enable'] = true;   $curl->cache ['enableDownload'] = true;   $curl->cache ['dir'] = $cacheDir;   $curl->cache ['compress'] = true;   $clone = new MyCurl_Clone ( $curl, $url, $dir );   $clone->overwrite = true;   $clone->start ();   return false;  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部