さくらのレンタルサーバにPHPとMySQLで簡単なアンテナサイトを初心者が設置するまで 【2日目】

2日目

2日目は、1日目でできたページをDB保存、読込を取り入れたページに改修していきます。
なお、cronの設定については本記事では説明しません。

今回想定する環境

さくらのレンタルサーバ スタンダードプラン
PHPバージョン 5.6
MySQLバージョン 5.5
 InnoDB
 utf_general_ci
使用ライブラリ MagpieRSS

事前準備など

DBを用意する

パースしたRSSの保存先となるDBが新しく必要です。
もしさくらのレンタルサーバでWordpressを使用しているなどの理由から、
既にDBをいくらか作成しているなら新たに作成した方が良いです。

さくらのレンタルサーバはサーバコントロールからDBを新規作成できます。
アプリケーションの設定 → データベースの設定 → データベースの新規作成 を開き
各項目を指定してDBを作成します。

テーブルを作成する

DBを新規作成したら、次にテーブルを作成します。
1日目で触れた次の項目にIDを加えます。

  • サイトのタイトル
  • サイトのindexページリンク
  • 記事のタイトル
  • 記事のリンク
  • 投稿日
  • 内容

rust-antenna_ss2

ここではlinkをキーにして、記事のリンクが重複しているデータを排除するようにしています。

構築の流れ

想定する仕組み

処理の流れとしては、

  1. cronで定期的に新しいデータ取得
  2. ユーザがindex.phpを開く時にDBからデータ取得、表示する
  3. cronで定期的に古いデータ削除

今回はメンテナンス性を上げるために4ファイルに分離しました。それぞれの働きは次の通り。

crowrer.php

cronで定期的にデータを取得してDBに追加するスクリプト。

dbController.php

mysqlの操作をまとめたファイル。

cfg.php

共通して使用する文字列をまとめたファイル。

index.php

ブラウザに表示する部分を出力するファイル。

なお、これらだけだとデータの削除は行わないため、DBにデータが溜まっていくだけになります。
削除は別途cronで流すスクリプトを用意するなどして
メンテナンスすることになりますが、ここでは紹介しません。

ソースコード:crowrer.php

ソースコード:dbController.php

ソースコード:cfg.php

ソースコード:index.php