サイト全体のクローン作成機能を実現する自作のphpcurlライブラリphpcurl
国内や海外のオンラインマニュアルをよく利用することがありますが、アクセスが遅かったり、作者が直接閉じていたり、サーバーが常にダウンしているため、その方が良いです。すべてを自分のサーバーに複製します。
ライブラリの機能:
初期接続を指定すると、初期接続の下のレベルにあるすべてのファイルがローカルにコピーされます。
複数のクローン作成は上書きするかどうかを設定できます。
画像をダウンロードするかどうかを設定します。
すべてのリンクは相対リンクに置き換えられるため、自由に書き換えることができます。
ファイルの上書きなどの問題は絶対にありません。
最大のNBの特徴は、これ以上のNBライブラリがないことです。
SVN: http://svn.phpdr.net/repos/ares/php/library/trunk/lib/CurlMulti/MyCurl/Clone.php
Bangkejia ダウンロード: http://xiazai.jb51.net/201502/other/CurlMulti.rar
クローン結果の表示 (このクローン作成操作は数秒で完了します):
クローンソース Web サイト: http://www.laruence.com/manual/
クローン結果: http://manual.phpdr.net/yaf/
デモコード:
コードをコピーします コードは次のとおりです:
クラスController_SpiderはMyYaf_Controller_Baseを拡張します{
関数 init(){
親::init();
if(!$this->getRequest()->isCli()){
Ares_Http::error403();
}
'CurlMulti/CurlMulti.php' を含めます;
'CurlMulti/MyCurl.php' を含めます;
'phpQuery.php' を含めます;
}
}
コードをコピーします コードは次のとおりです:
class YafdocController extends Controller_Spider {
関数 init() {
親::init ();
'CurlMulti/MyCurl/Clone.php' を含めます;
}
関数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 = 新しい CurlMulti();
$curl->maxThread = 10;
$curl->cache ['enable'] = true;
$curl->cache ['enableDownload'] = true;
$curl->cache ['dir'] = $cacheDir;
$curl->cache ['compress'] = true;
$clone = 新しい MyCurl_Clone ( $curl, $url, $dir );
$clone->overwrite = true;
$clone->start();
false を返します;
}
}
http://www.bkjia.com/PHPjc/957129.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/957129.html技術記事 phpcurl はサイト全体のクローン作成機能を実現するため、自分で作成した phpcurl ライブラリを使用しています。国内または海外のオンライン マニュアルを使用することが多く、アクセスが遅いものや作成者が直接アクセスするものもあります。