【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はこんな感じです。
$fp = fopen("$mypath/top/access.txt", "c+");
fwrite($fp, "$myurl/$urlfolder/$filenum 1" );
fclose($fp);
?>
ファイルにURLが書かれているか確認するPHP
さて、ここからどういう風に攻めていくか、まずは色々検索してきます!
…なかなかぴったりの情報は見つからないですね。やりたいことをひとつずつ調べていくしかなさそうです。まずは、ファイルに該当の文字列があるか調べるPHPから。「strstr」という関数が使えそうです。書いてみよう。
ファイル全体では検索できず、1行ずつ検索しないといけないことが分かりました。「!feof」で一行ずつ読み込めるみたいです。
ややこしいので、ファイル名をいったん$valueに格納。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アソシエイトの申し込みをする ←完了!
- ローカルで簡単に入力ができるようにフォームを作る
- フォローアップ - より収益化に向いたサイト構造に変更する
