ホームページ >バックエンド開発 >PHPチュートリアル >サイト全体のクローン作成機能を実現する自作のphpcurlライブラリ、phpcurl_PHPチュートリアル

サイト全体のクローン作成機能を実現する自作のphpcurlライブラリ、phpcurl_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:07:03937ブラウズ

サイト全体のクローン作成機能を実現する自作の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 を返します;
}
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/957129.html技術記事 phpcurl はサイト全体のクローン作成機能を実現するため、自分で作成した phpcurl ライブラリを使用しています。国内または海外のオンライン マニュアルを使用することが多く、アクセスが遅いものや作成者が直接アクセスするものもあります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。