kamenokoki.com

【112日目】ページごとのアクセス解析をするPHPを作成したい-2

Posted:  Last Update:

ページごとのアクセスを解析して、人気記事を割り出したい!昨日から取り組んでいるPHPの作成。昨日は順調に進んだので、今日も張り切って取り組みます!

昨日の作業の振り返り

昨日はページごとのアクセス数を解析するPHPを書き初めました。手順を簡単に書き出したものを振り返ってみましょう。

  • アクセス数を保存するファイルを作る→「access.txt」←OK
  • 【PHP】開いているページのURLを取得←OK
  • 【PHP】「access.txt」を開く←OK
  • 【PHP】(初回)「access.txt」にファイル名と数字1を書き出す←OK
  • 【PHP】(2回目以降)「access.txt」にファイル名があれば、数字に1プラスして書き直す
  • 【PHP】「access.txt」を閉じる←OK

あっ、残りの項目が一個になっていますね!ただ、この1個が最も工数がかかる項目な気がします。なお、昨日までに書いたPHPはこんな感じです。

><?php
$fp = fopen("$mypath/top/access.txt", "c+");
fwrite($fp, "$myurl/$urlfolder/$filenum 1" );
fclose($fp);
?>

ファイルにURLが書かれているか確認するPHP

さて、ここからどういう風に攻めていくか、まずは色々検索してきます!

…なかなかぴったりの情報は見つからないですね。やりたいことをひとつずつ調べていくしかなさそうです。まずは、ファイルに該当の文字列があるか調べるPHPから。「strstr」という関数が使えそうです。書いてみよう。

ファイル全体では検索できず、1行ずつ検索しないといけないことが分かりました。「!feof」で一行ずつ読み込めるみたいです。

ややこしいので、ファイル名をいったん$valueに格納。PHPはこんな感じです。

<?php
$value = "$myurl/$urlfolder/$filenum";
$fp = fopen("$mypath/top/access.txt", "c+");
while (!feof($fp)) {
    $buffer = fgets($fp, 4096);
    if (strstr($buffer, $value) !== false){
        echo $fp;
    }
}
fclose($fp);
?>

昨日のPHPで書き出していたページに接続すると、「Resource id #37」という文字列が書き出されるようになったので動いてはいます。他のページに接続すると何も書き出されません。該当の文字列が存在するかどうかは確認できるようになりました!

今日はここまで

この記事を読み返しても、何をしていたか分からなくなりそうな内容ですが(笑)、時間が来てしまったので今日はここまで。明日は、該当の文字列が無かったら下の列にURLを書き出すPHPを作ってみたいと思います!

おまけのロードマップ

サイト作成がどのくらい進んでいるかロードマップで進捗を確認すると、ここまで進んでいます。

  • 準備 - サイトの全体像を決める
  • 使用するプログラミング言語を決めて環境を整える
  • サイトの基本構造を作って公開する
  • 収益化に最適なサイトにアップグレードする
  • GoogleアドセンスとAmazonアソシエイトの申し込みをする ←完了!
  • ローカルで簡単に入力ができるようにフォームを作る
  • フォローアップ - より収益化に向いたサイト構造に変更する
記事をシェアする

亀の子に連絡

ランキング参加中!ぽちっとしてね

F2cランキングアイコン 人気ブログランキング ブログランキング・にほんブログ村へ

広告