ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用した Record_PHP チュートリアルに関する新しいディスカッション

PHP を使用した Record_PHP チュートリアルに関する新しいディスカッション

WBOY
WBOYオリジナル
2016-07-13 17:25:15929ブラウズ

Analog などの優れたログ アナライザーを使用すれば、Web サイトのクリックがどこから来ているか、どのページが閲覧されたかを把握するのはそれほど難しくありません

しかし、実行中のレポートを停止したい場合はどうすればよいでしょうか。別のルートを取る必要があります

約 6 か月前、私は Apache ログ ファイルを SQL データベースにインポートし、それに対して特別なクエリを実行していました

残念ながら、これは、これらのレコード ファイルを 1 つずつ手動で抽出する必要があることを意味します。フォームを少しひねってからエクスポートします。継続的に更新できるもの、コンテンツの閲覧統計、ブラウザとプラットフォームの統計、および時間の経過に伴う傾向を提供できるものが必要です。

これのソリューション バージョン。 SourceForge システムは、この Web サイトの Web 訪問者とすべての Web 訪問者を含む、SourceForge.net Web サイトのパイプラインを通じて SourceForge のすべての記録とトレースを作成します。 1200 プロジェクト

基本的に、私が実行しなければならないすべての記録アクションは、データベース テーブルに列を追加することです (この例では Web 訪問者ですが、他の URL からバナー広告に追加された訪問者の数を記録することもできます)。クリック数、個々のクリックなど)

これは私が SourceForge で使用しているテーブル構造です:

create table activity_log (
day integer DEFAULT 0 NOT NULL,
hour integer DEFAULT 0 NOT NULL,
group_id integer DEFAULT 0 NOT NULL、
browser varchar(8) DEFAULT OTHER NOT NULL、
ver float(10) DEFAULT 0.00 NOT NULL、
platform varchar(8) DEFAULT OTHER NOT NULL、
time integer DEFAULT 0 NOT NULL、
ページテキスト、
type integer DEFAULT 0 NOT NULL


); 複数の URL を記録したい場合は、group_id フィールドを各 URL に割り当てて、URL アドレスに渡すだけです。

type はこれらの例では使用されていませんが、広告のクリック数、他の URL からのクリック数など、さまざまなタイプの動作を追跡するために使用できます。

browser、verプラットフォームはブラウザから Web サイトのサーバーに送信できます。その 1 つのステップは、データをデータ テーブルに転送することです。残念ながら、ボックス内のすべてのものが PHP やその他すべての Web サイトを通じて利用可能であれば、完璧な世界になります。全国にたくさんのサーバーが分散しているので、すべてのサーバーから 24 時間すべてのページビューを収集する必要があります

そのため、各サーバーの Web ページに 1x1 ピクセルの GIF を用意する必要があります。この図のように:



このグラフィックには 4 つの要素があります

リモート Web サーバー
Web ブラウザ (Web サイトにアクセスするユーザー)
中央ログ サーバー
中央データベース サーバー

したがって、ユーザーが Web サイトにアクセスして Web を取得すると、ページを使用する場合、ブラウザーはサーバー センターに 1x1 GIF 画像を表示するように要求します。サーバー センターはその情報を記録して、製品レポートを簡単に作成します。
すべてのデータを生成するための簡単な SQL を作成するだけです。
ShowResults() を使用します。関数を使用してそれを表示することもできます (前の記事を参照)

いつでも統計レポートを実行できるようになりました

レポートを実行するためのサンプル SQL
日ごとのページビュー

日、カウントを選択(*)
FROM activity_log
WHERE type=0 GROUP BY day

ブラウザ別ページビュー数

SELECT ブラウザ、カウント(*)
FROM activity_log
WHERE type= 0 GROUP BY ブラウザ

ブラウザバージョン別ページビュー数

SELECTブラウザ、バージョン、カウント(*)
FROM activity_log
WHERE type=0 GROUP BY ブラウザ、ver

プラットフォーム別ページビュー

SELECT platform, count(*)
FROM activity_log
WHERE type=0 GROUP BY プラットフォーム

ここ.zip にはブラウザ検出ライブラリとデータベース抽象化ライブラリが含まれています



http://www.bkjia.com/PHPjc/532081.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/532081.html技術記事 Analog などの優れたログ アナライザーを使用すれば、Web サイトへのクリックがどこから来ているか、どのページが閲覧されたかを把握するのはそれほど難しくありません。しかし...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。