ホームページ >バックエンド開発 >PHPチュートリアル >PinPHPバックグラウンドバッチ収集機能の二次開発・修正実装_PHPチュートリアル
私はしばらく PinPHP を使用して、Sae 上に環境をセットアップし、「Fashion Beauty」を約 1 か月間実行しました。そこで、最近このプログラムを研究し、いくつかの二次開発を行ったり、自分のプログラムを追加したりしています。自分の考え。たとえば、私は以前にブログ投稿を書きました: Renren アカウントのログインを追加し (実際には淘宝ログインも行いましたが、淘宝アプリケーション センターでのみ使用しました)、PinPHP コレクションを変更しました。
さて、今日はPinPHPのバックグラウンド一括収集機能の二次開発と修正実装についてお話します
最初にpinphpに接続して2.1ベータ版を使用しました。現在、正式バージョン2.2がリリースされていますが、残念ながら皆さんが楽しみにしていた一括収集機能が期待通りにリリースされていなかったので、自分で改造してみました
実は、このプログラムは半月前に書いたのですが、仕事が少し忙しくて、自分で使っているだけで、その一方で、しばらくテストして改良していました。ところで。
元の実装を実装するのは非常に簡単です。主に、収集インターフェイスを変更し、収集する ID やキーワードなどを渡すためのいくつかのチェックボックスを追加します。
1. adminTpldefaultitems_collectcollect.html ページの 28 行目を変更します。
クリップボードにコピー引用コンテンツ: [www.bkjia.com]このページのバッチ収集のコードはまだ完成しておらず、コメントされているだけなので、公式はバッチ収集を試みるべきでした。
2. 次に、adminLibActionitems_collectAction.class.php に関数を追加し、元のコレクション関数を少し変更します
クリップボードにコピー引用コンテンツ: [www.bkjia.com] 関数 ajaxCollect(){public functioncollect()関数を修正、前半のifを
に変更 クリップボードにコピー
引用コンテンツ: [www.bkjia.com] if(isset($_REQUEST['dosubmit'])){ /******バッチコレクション*******/ $cate=implode(',',$_REQUEST['cate']); $this->ajaxCollect( );
Copy to Clipboard引用的内容:[www.bkjia.com]
php と js を知っている友人は、組み立てられたコレクションの URL を js 形式で配置し、setInterval タイマーを使用して定期的に ajax リクエストを実行し、すべての URL を走査することを理解する必要があります 完了するまで。当初、私はトラバーサルに direct ではなく setInterval を使用していました。これは、カテゴリが多すぎる場合、淘宝 API を頻繁にリクエストすると部分的な収集が失敗するのではないかと心配したためです。 一定期間テストした結果、効果は得られましたが、カテゴリが多すぎるため、一度に収集するとブラウザがフリーズし、総収集時間も長くなってしまいます。まだ使用しています 非同期、遅延なし、収集時間の短縮も可能ですが、これについてはさらにコードを修正する必要があります。現在の効果は以下の通りです
進捗状況が%比率で表示され、最後に完了度や失敗数が表示されます。失敗したものは再度収集するか、未収集のものを確認して手動で収集することもできます。 この修正後は、元のコレクション機能も正常に使用できるようになります。 繰り返しになりますが、私は pinphp2.1 ベータ版を使用しています。他のバージョンを変更したい場合は、それを参照してください。変更されたファイルのパッケージを直接上書きすることはお勧めしません。最高です コードを上書きする場合は、最初に元のファイルをバックアップして回復してください。 クリックしてダウンロード: pinphp バッチコレクション
チュートリアルのソース: http://meego123.net/?post=140
www.bkjia.com