时时商务社区
标题:
自己写的php curl库实现整站克隆功能
[打印本页]
作者:
阿情
时间:
2018-2-14 05:49
有时候经常会用到一些在线手册,比如国内或国外的,有些是访问速度慢,有些是作者直接吧网站关闭了,有些是服务器总是宕机,所以还是全盘克隆到自己服务器比较爽。
库特点:
给定一初始连接,初始链接以下的层级所有文件会拷贝到本地。
多次克隆可以配置是否覆盖。
可以配置是否下载图片。
所有链接替换为相对链接,所以可以随便rewrite。
绝对不会出现文件覆盖等问题。
最NB的特点是,没有比这更NB的库了。
SVN:
http://svn.phpdr.net/repos/ares/php/library/trunk/lib/CurlMulti/MyCurl/Clone.php
脚本之家下载:
http://xiazai.jb51.net/201502/other/CurlMulti.rar
克隆结果展示(这个克隆操作几秒钟就完成了):
克隆源网站:
http://www.laruence.com/manual/
克隆结果:
http://manual.phpdr.net/yaf/
Demo代码:
[U]复制代码[/U] 代码如下:
getRequest()->isCli()){
Ares_Http::error403();
}
include 'CurlMulti/CurlMulti.php';
include 'CurlMulti/MyCurl.php';
include 'phpQuery.php';
}
}
[U]复制代码[/U] 代码如下:
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;
}
}
您可能感兴趣的文章:
关于phpwind克隆用户的方法
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php实现对象克隆的方法
PHP编程中的__clone()方法使用详解
PHP数据对象PDO操作技巧小结
PHP类和对象相关系统函数与运算符小结
PHP简单遍历对象示例
PHP对象克隆clone用法示例
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2