【113日目】ページごとのアクセス解析をするPHPを作成したい-3
Posted: Last Update:
ページごとのアクセスをカウントするPHPを書き始めて3日目です。昨日は集計ファイルにファイル名が存在するか確認できるようになりました。今日は存在の有無を判定して書き込みをするPHPを作りたいと考えています。
昨日までの作業振り返り
昨日までで、「access.txt」という集計ファイルを開き、このファイルに自分のURLが書かれているか判定できるPHPを作成しました。実際の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);
?>
$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);
?>
存在判定してなければ書き込み
まずは、開いているページのURLが集計ファイルになければ書き込みを行うPHPを追記していきたいと思います!
カウントを利用して、存在しなければ書き込みするようにPHPをくわえてみました。
<?php
$value = "$myurl/$urlfolder/$filenum";
$i = 0;
$fp = fopen("$mypath/top/access.txt", "c+");
while (!feof($fp)) {
$buffer = fgets($fp, 4096);
if (strstr($buffer, $value) !== false){
$i=1;
}
}
if($i==0){
fwrite($fp, $value);
}
fclose($fp);
?>
$value = "$myurl/$urlfolder/$filenum";
$i = 0;
$fp = fopen("$mypath/top/access.txt", "c+");
while (!feof($fp)) {
$buffer = fgets($fp, 4096);
if (strstr($buffer, $value) !== false){
$i=1;
}
}
if($i==0){
fwrite($fp, $value);
}
fclose($fp);
?>
書き込みはできましたが、同じ列に書き込まれてしまいました…。改行はしたい…。
http://localhost:50004/blog/20201216 1http://localhost:50004/article/welcome
ファイル名は新しい列に追加する
改行して書き込みができるように考えてみます。というか、検索します!
いろいろ検索してみましたが、よくわからないので、とりあえず改行「"\n"」を入れたら成功しました…。ついでに最初のカウント1も入れてみました。
<?php
$value = "$myurl/$urlfolder/$filenum";
$i = 0;
$fp = fopen("$mypath/top/access.txt", "c+");
while (!feof($fp)) {
$buffer = fgets($fp, 4096);
if (strstr($buffer, $value) !== false){
$i=1;
}
}
if($i==0){
fwrite($fp, "\n".$value." 1");
}
fclose($fp);
?>
$value = "$myurl/$urlfolder/$filenum";
$i = 0;
$fp = fopen("$mypath/top/access.txt", "c+");
while (!feof($fp)) {
$buffer = fgets($fp, 4096);
if (strstr($buffer, $value) !== false){
$i=1;
}
}
if($i==0){
fwrite($fp, "\n".$value." 1");
}
fclose($fp);
?>
いちおう書き込みには成功しています!「access.txt」の記載結果はこんな感じです。
http://localhost:50004/article/welcome 1
http://localhost:50004/article/20201212 1
http://localhost:50004/article/20201121 1
http://localhost:50004/article/20201117 1
http://localhost:50004/article/20201115 1
http://localhost:50004/article/20201109 1
http://localhost:50004/article/20201217 1
http://localhost:50004/article/20201212 1
http://localhost:50004/article/20201121 1
http://localhost:50004/article/20201117 1
http://localhost:50004/article/20201115 1
http://localhost:50004/article/20201109 1
http://localhost:50004/article/20201217 1
今日はここまで
あまり進んでいませんが、今日はここでタイムアップ!
今日は無事にファイル名の書き込みができるようになりました。明日は、ファイル名が存在する場合に、数を増やすPHPを書いていきたいと思います。できるといいな!
おまけのロードマップ
サイト作成がどのくらい進んでいるかロードマップで進捗を確認すると、ここまで進んでいます。
- 準備 - サイトの全体像を決める
- 使用するプログラミング言語を決めて環境を整える
- サイトの基本構造を作って公開する
- 収益化に最適なサイトにアップグレードする
- GoogleアドセンスとAmazonアソシエイトの申し込みをする ←完了!
- ローカルで簡単に入力ができるようにフォームを作る
- フォローアップ - より収益化に向いたサイト構造に変更する
