kamenokoki.com

【11日目】短いURLのリンクを作ってみた

Posted:  Last Update:

お小遣いを稼げるサイトを目指して、11日目になりました。行きつ戻りつしています。 昨日は無事に開発環境を改めて整えることができたので、今日はリンクの働きを作っていきたいと思います。

ロードマップ

ちなみにロードマップを見ると、進み具合はこんな感じです。

  • 準備 - サイトの全体像を決める
  • 使用するプログラミング言語を決めて環境を整える
  • サイトの基本構造を作って公開する
    • 大枠の作成
    • ヘッダの作成
    • フッタの作成
    • メイン部分の構成を作成
    • リンクを開いた時の動きを作成 ← 今ここ
    • ナビゲーションバーの作成
    • メインコンテンツの作成
    • 関連情報エリアの作成
    • 公開
  • 収益化に最適なサイトにアップグレードする
  • GoogleアドセンスとAmazonアソシエイトの申し込みをする
  • ローカルで簡単に入力ができるようにフォームを作る
  • フォローアップ - より収益化に向いたサイト構造に変更する

サイトの作成に取り掛かる前にスマホと格闘

すぐにリンクの作成に取り掛かりたいところですが、昨日発覚したスマホの電池膨張を何とかしなければいれません。今日はあまりサイト作成に時間をとれないかも。 Amazonから新しい電池も届いたので、電池の入れ替えをしたいと思います。念のために写真と音楽データと連絡先のバックアップが最新になっているかを確認。電源を落として、他の人が電池交換している動画を見ながら悪戦苦闘。電池パックが超強力な粘着テープで貼り付けられていて、剥がすのにすごく時間がかかりました。それ以外は順調に進み、電源も無事につきました!嬉しい。 でも、電池部分がちょっとあったかい気がする。熱いというほどじゃないんだけど…。今まで気になったことがなかったので、接触が悪いのかもと不安になってきています。しばらく様子をみるしかないですね。

かかった時間、1時間10分。そのうち、粘着テープとの格闘時間約45分(笑)

やっとリンクの作成にとりかかる

さて、使える時間が減ってきていますが、ブログの作成を始めたいと思います。 今日はとりあえず、PHPで任意の文字列を送ったり受け取ったりする方法を確実に理解したいです。それをもとに記事を呼び出すリンクを作る予定。 確実に呼び出せるようになったら、.htaccessでPHPに番号を送る処理に進みたいと思います。

何が必要かな。日付.txtという形式でファイルを作っているので、とりあえず日付を呼び出してみましょうか。 まずはtest1.txtをつくって、indexページの真ん中に呼び出せるようにしました。 次に、情報を呼び出す練習をしてみます。今日の日付を呼び出すプログラムを書いてみました。YYYYMMDDの形で日付が返ってきます。

<?php
date_default_timezone_set('Asia/Tokyo');
$today = date("Ymd");
print_r($today);
?>

日付.txtのファイルを呼び出せるようにする

今日の日付を呼び出せるようになったので、今日の日付を基準にファイルを呼び出すリンクを作ってみたい。Google先生に聞いた結果、次の構文でいけそうです。

<a href="./blog/<?php echo $today;?>.txt">今日の日記</a>

動かしてみると、今日の日記へのリンクが出現。
2020.09.10 今日の日記へのリンクが完成
クリックすると…
2020.09.10 クリックするとテキストファイルがそのまま表示される

あはは、エンコードも指定していないテキストファイルを直接ブラウザに読み込んだらそうなりますよね。でも、テキストファイルを呼び出せたと言うことは、リンクはうまく動いているということ。とりあえず成功と言えるのではないでしょうか。これで、「https://独自ドメイン/blog/20200910」という形のリンクを作れるようになりました。

さらに過去のブログのリンクも作ってみる

今日のブログへのリンクは作れるようになったので、今後のテストをするためにも、過去5件くらいの記事を表示させたい。おそらくナビゲーションバーにも応用するであろうこの技術、どう書くべきか…。 過去5件くらいの記事を呼び出すのは繰り返しの処理で書くのがやはり妥当だろうとは思うのですが、繰り返しの処理を考える前に、変数にファイルのパスを格納する必要がありますね。

PHPの変数$filenameに「https://独自ドメイン/blog/$today」のパスを入れて、$todayを繰り返しの処理で変えていけば簡単に動かせるかも。 思いついてから結構時間が経ちました。$filenameに変数$todayを入れるのにとっても苦労しました。最終的に、ダブルクオテーションで囲むのが正解らしいとやっと気付いて、こうなりました。これで、日付に合わせて「./blog/20200910」というようなパスが取得できます。

<?php
$filename = "./blog/$today.txt";
print_r($filename);
?>

次に、5件表示させるので、5回分の繰り返し処理をしてくれるDo while文を作ってみました。これはdo whileの解説から引っ張ってきただけなので簡単でした。

<?php
$i = 0;
do {
echo $i;
$i = $i+1;
} while ($i < 6);
?>

記事が存在しない可能性も考慮しておく

途中で記事件数が足りない時に抜け出せるように、日付の最小値を決定しておかないといけません。最小値よりも呼び出したい記事の番号が小さくなったら、do whileから抜け出せるように後で操作します。とりあえずは8月1日に設定して、試しに「print_r($Oldest);」で画面表示させたら、きちんと日付が出ました。

$Oldest=20200801;

それと、先日学んだ「ファイルが存在しているか確認するif文」を流用しようと思います。↓これね。

<?php
if (file_exists($filename)) {
echo "$filename が存在します";
} else {
echo "$filename は存在しません";
}

?>

スマホに時間をかけすぎたので、残りはまた明日

今日はここでタイムアップ。あまり進んでいませんが、スマホを弄っていたので仕方がないですね。

明日の手順としては、
  1. if文の"$filename が存在します"の部分にリンクを代入する
  2. 上に上げた構文をがっちゃんこして、5件表示できるようにする

さらに、5回分のブログリンクができた後が大仕事です。リンクを開いた時に.htaccessでリンクを開けるようにする件ですね。私の読みでは、閲覧者が「https://独自ドメイン/blog/20200910」にアクセスしてきたときに、まずhtaccessで次の処理しないと行けないのだと思うのです。メモ程度に、今思いついていることを書き捨てしておきます。

  1. Index.phpにリダイレクトする
  2. しかし、URLはそのまま保持する
  3. Index.phpにblog/20200910という値を受け渡す
同時に、index.phpでは
  1. .htaccessから受け渡されたblog/20200910という情報をもとにファイルを呼び出してページを生成する
  2. ファイルがない時には、.htaccessにエラーページを表示するように指示を出す

あってるかな。あってるといいな。 また明日頑張るぞ!

そうそう、スマホはすっかりひんやりしていました。電源を入れたときに頑張っていただけみたいです。この一時間、放置している間に通知も来ていましたが、電池も全く減っていないので問題なさそう。良かったです。

記事をシェアする

亀の子に連絡

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

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

広告