【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はこんな感じ。
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アソシエイトの申し込みをする ←完了!
- ローカルで簡単に入力ができるようにフォームを作る
- フォローアップ - より収益化に向いたサイト構造に変更する
