kamenokoki.com

【86日目】動きが重い日記のアーカイブを軽くしたい!-完成!

Posted:  Last Update:

昨日はやっとアーカイブページが動かせるようになりました!アーカイブの作成も一週間越しになっているので、できれば今日完成させたいです。

昨日までの成果と今日の作業

昨日は動作不良を起こしていたPHPを修正して、やっとアーカイブページに「前月」「次月」のリンクがきちんと入るようになりました。

問題はPHPの日付取得

今日は、昨日書き出した、書き3つを作成してアーカイブページを完成させたいです。

  • アーカイブの一番下にも次月と前月のリンクを入れる
  • 日記が存在しない月のリンクにエラーを表示する
  • 本番環境に移植

アーカイブの一番下にも次月と前月のリンクを入れる

ここはコピペするだけなので簡単!PHPで書き出している部分だけぺたっと貼り付けました。

echo '
<div id="mainprepostlink">
<div id="mainprelink">';
    if (isset($lastmonth)){
        echo '<a href=', "$myurl/$urlfolder/welcome?archive=$lastmonth2", '>←前月 ',$lastmonth->format('Y年m月'),'</a>';
    }
echo '</div>
<div id="mainpostlink">';
    if (isset($nextmonth)){
        echo '<a  href=', "$myurl/$urlfolder/welcome?archive=$nextmonth2", '>',$nextmonth->format('Y年m月'), ' 次月→</a>';
    }
echo '</div>
</div>
';

日記が存在しない月のリンクにエラーを表示する

調べたら、PHPに「new GlobIterator()」という便利な関数がありました。これを「$iterator->count()」という関数と組み合わせて、globで取得したファイルを数えてくれるそうです。

早速こんな感じで、ファイルの枚数を数えてみました。if分でファイル数が0より多ければ、アーカイブを表示させます。

$iterator = new GlobIterator("$mypath/$filefolder/$archive*.txt");
if($iterator->count()>0){}

日記が存在しない月に対しての文言も入れて…、完成です!

日記が存在しない月のリンクにエラーを表示する

本番環境に移植

今回はファイルを一つしか変更していないので、移植も簡単。コピペして、完了!

動作も良好です。

今日はここまで

アーカイブページも完成したので、今日の作業はここまで。明日は何をパワーアップさせようかな?

おまけのロードマップ

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

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

亀の子に連絡

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

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

広告