设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
自己写的php curl库实现整站克隆功能
返回列表
查看:
703
|
回复:
0
自己写的php curl库实现整站克隆功能
[复制链接]
阿情
当前离线
积分
7622
2560
主题
2560
帖子
7622
积分
论坛元老
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
积分
7622
发消息
电梯直达
楼主
发表于 2018-2-14 05:49:24
|
只看该作者
|
倒序浏览
|
阅读模式
有时候经常会用到一些在线手册,比如国内或国外的,有些是访问速度慢,有些是作者直接吧网站关闭了,有些是服务器总是宕机,所以还是全盘克隆到自己服务器比较爽。
库特点:
给定一初始连接,初始链接以下的层级所有文件会拷贝到本地。
多次克隆可以配置是否覆盖。
可以配置是否下载图片。
所有链接替换为相对链接,所以可以随便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用法示例
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
网站推荐
用户反馈
客户端