kamenokoki.com

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

Posted:  Last Update:

昨日から、78ページになった日記のアーカイブが重くならないように設定を始めました。PHPが悪さをしているのか、なんだかページが重いんですよね…。

方針を決める

昨日は日記の画像を過去の分も全て整えて、準備万端です。今日は、日記の過去記事のPHPを何とかしたいと思います。79ページしか読み込んでいないのに、なぜ動きが遅いのか原因不明なのですが、負担がかかっていることは事実なので、方策を練らなければ…。

昨日PCを閉じてからも色々考えたのですが、アーカイブなのでPHP丸出し「https://kamenokoki.com/blog/welcome?archive=202011」みたいに、末尾にクエリを入れたままでもいいかな、と思っています。

日記はこのサイトのメインではないし。どちらかと言えば「開発小技集」に今後シフトしていきたいし…。

ページの準備

ウェルカムページを変更しなければいけないので、テスト環境を作りました。

まずは、クエリで動くページの作成。GETを使って作ります。以前に検索ページで使ったことがあるので、ここは知ってる!まずは「if(isset($_GET['archive']))」でarchiveというクエリが指定されているか確認するんですよね。

で、archiveで指定されたファイルを「glob」関数で拾ってきます。「glob(".../$archive*.txt");」で先頭6文字が一致するものを見つけることにしました。例えば「2020年11月」は「202011」というarchiveで拾います。ファイルは「20201101.txt」とかになっています。

で、日記を一つずつ書き出していく、と…。

いちおう一覧は呼び出せた

なんか色々考えているうちに随分時間が経ってしまいましたが、一応ここまで来ました。「202011」というクエリで、11月分の日記を呼び出しています。

いちおう一覧は呼び出せた

PHPはこんな感じ。

<?php
if(isset($_GET['archive'])) {
$archive = $_GET['archive'];
    $files = glob("$mypath/$filefolder/$archive*.txt");
    echo '<div id="latestparent">';
        foreach($files as $filename){
            $filename = basename($filename);
            $filename = str_replace('.txt', '', $filename);
            require("$mypath/$filefolder/$filename.txt");
            echo '
            <a href='
, "$myurl/$urlfolder1/$filename", '>
                <div id="latestchild">
                    <div id="latestcimg"><img src="'
,$articletimg,'" alt="',date('Y.m.d',strtotime($filename)),'記事のイメージ画像"></div>
                    <div id="latestctitle">
                    <b> '
,$articletitle, '</b>
                    </div>
                    <div id="latestcdescription">'
,$articledescription, '</div>
                    <div id="indexlinktime">'
, date('Y.m.d',strtotime($filename)) ,'</div>
             </div>
            </a>'
;
        }
    echo  '</div>';
}
?>

今日はここまで

今日は時間が来てしまったので、作業はここまでにします。明日は、ヘッダーに小見出しを入れたり、日記が存在しない月は「アーカイブがありません」と表示したり、GETのセキュリティを考えたりしたいと思います。日記のページからアーカイブに飛ぶリンクも作らないと。

では、また明日!

おまけのロードマップ

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

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

亀の子に連絡

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

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

広告