kamenokoki.com

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

Posted:  Last Update:

ページごとのアクセスを解析するPHP。昨日めでたく完成したので、今日は本番環境に写します。その前に、もう少しPHPをきれいにできるか検討していきたいと思います!

これまでの成果

昨日までの作業でこのようなPHPを作成することができました。動いてはいるのですが、無駄が多い気がします…。

<?php
if (isset($filenum) == true && $urlfolder == "article" && $filenum !== "welcome"){
$value = "$myurl/$urlfolder/$filenum";
$str = file_get_contents("$mypath/top/access.txt");
$findvalue = '<'.$value.' count:([0-9]+)>';
preg_match_all($findvalue, $str, $matches, PREG_SET_ORDER);
if ($matches == 0 || $matches == false){
    $fp = fopen("$mypath/top/access.txt", "a+");
    fwrite($fp, "\n".$value." count:1");
    fclose($fp);
}
else{
    foreach($matches as $value1){
        $count = $value1[1];
        $count = $count+1;
        $replace = preg_replace('<'.$value.' count:([0-9]+)>', $value.' count:'.$count ,$value1[0]);
    }
    $str = preg_replace($findvalue, $replace, $str, 1);
    $fp = fopen("$mypath/top/access.txt", "w");
    fwrite($fp, $str);
    fclose($fp);  
}
}
?>

PHPをきれいにしてみる

PHPの見直しをしてみました。あまり短くできるところはなさそうです。書き込みが単純なので「file_put_contents」に書き直します。

これで完成でいいかな?

<?php
if (isset($filenum) == true && $urlfolder == "article" && $filenum !== "welcome"){
$value = "/$urlfolder/$filenum";
$str = file_get_contents("$mypath/top/access.txt");
$findvalue = '<'.$value.' count:([0-9]+)>';
preg_match_all($findvalue, $str, $matches, PREG_SET_ORDER);
if ($matches == 0 || $matches == false){
file_put_contents("$mypath/top/access.txt", "\n".$value." count:1", FILE_APPEND | LOCK_EX);
}
else{
foreach($matches as $value1){
$count = $value1[1];
$count = $count+1;
$replace = preg_replace('<'.$value.' count:([0-9]+)>', $value.' count:'.$count ,$value1[0]);
}
$str = preg_replace($findvalue, $replace, $str, 1);
file_put_contents("$mypath/top/access.txt", $str);
}
}
?>

本番環境に移植

早速本番用のアップロードファイルに移植してきます。今回は新たにファイルを追加したので、移植も簡単。テストもしてみました。無事に動いています。あとは本番環境にアップロードするだけです!

8日かかりましたが、なんとか完成!めでたいです!

うれしいな!うれしいな!

1週間ほど動かして、データがたまったら「人気記事」を掲載するPHPに取り掛かろうと思います!

やりたいことリストのおさらい

さて、作業も無事に終わったので、やりたいことリストに戻りましょう。とはいえ、残りは1つだけです。

  • 人気投稿の準備として、アクセス解析をするPHPを作成する ←完成
  • Google Lighthouseに指摘された内容に対応する

しかし!追加するものもあります!

  • 人気記事へのリンクをトップページなどに追加する
  • Google Adsenceが止まっている理由を確認する

そうなんです、実はGoogle Adsenceが止まっているんですよね…。放置していたのですが、1月経っても回復しないので、一昨日少し調べました。テスト環境からアクセスするときも広告が表示されているのがいけないのかな、とテスト環境では広告を表示しないように変更したのですが、代わりなし…。一度本格的に確認したいです。

今日はここまで

そんなことをしているうちに今日は時間が来てしまいました!

明日はまた「Google Lighthouse」にアクセスしてサイトの問題点を確認してみたいと思います。修正できるところはしていかないと!!

それでは、また明日!

記事をシェアする

亀の子に連絡

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

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

広告