おはようございます。Aです。
前回に引き続きPHP初心者講座の第7弾。
第6弾では入力した内容をファイルに読み書きしてみました。→前回
実は前回書ききれなかったことがありましてですね。
入力した文章にタイムスタンプはつけてみたかったんです。
というわけで、PHPの時間に関連した関数から始めてみます。
PHP関数:date()
date(パラメータ)の形で記述すると、そのパラメータの値に対応する日付や時間を返してくれるこの関数。百聞は一見にしかず。とりあえず書いてみます。
ブログを書いていた時点の年月日と時分秒を求めてみました。
date(“Y”)は今の年、date(“s”)は今の秒。って感じで求めてくれるのがdate()関数なわけです。
Yやsなどのパラメータの一覧はリファレンスが一番かと→リンク
“date関数で時間がずれる!”という方。
php.ini(C:\xampp\php\php.ini)内、1044行目前後ですかね。
タイムゾーンを記述している辺りを確認してみてください。
ちなみに僕はこんな感じでした。黄色い部分をご覧ください。
ここを”Europe/Berlin”から”Asia/Tokyo”になおせば解決できました。
どうやらコンピュータのシステム日付を取ってきて、このフィルターをかましてる感じですね。
で。ここからが本題。タイムスタンプ。
PHP関数:date()のフォーマット指定
実はこのdate()関数。
“何時何分何秒”というデータを表示させるためにわざわざ
echo date(“H”).”時”.date(“i”).”分”.date(“s”).”秒”
なんて事をしなくてもですね、
echo date(“H”時”i”分”s”秒)でいけちゃうのが便利なところ。
今回は”年-月-日 時: 分: 秒”のフォーマットを出力してみたいと思います。
その日時フォーマットを入力内容の末尾にでもつけて、
タイムスタンプつきの一言メモ的ものを作ってみると・・・こんな感じ。
入力した内容の最後に日付と時刻が入ってるのが分かりますね。
ちなみに上がファイルの内容。下はファイルを読み込んで表示しています。
ソースコードはこんな感じ。
ファイルに記述する文字列を以下のようにしています。
$text.”–“.date(“Y-m-d H: i: s”).”\n”; (=入力内容—タイムスタンプ+改行)
これで書いた内容にタイムスタンプが追記される仕様になりました。
ずっとvar_dump()でファイルの内容を読み出すのも芸が無いので
読み込んだ内容を少し編集してテーブルにしてみると…こんな感じ。
ソースコードを見てみると…..
少しごちゃっとしてますけど、やってることは大して難しくないです。
入力内容とタイムスタンプ部分を”–”で分割して(第6回参照)、
ID・入力内容・日付時刻の3つを
ループ文(第5回参照)中でテーブルに放り込んで出力してます。
シナジーデザインに入社してもうすぐ3ヶ月。
こういうテーブルを見ると、データベースっぽいと思うようになりました。
データベースを構築してみる
データベースは、特定のテーマに沿ったデータを集めて管理し、
検索・抽出などの再利用を出来るようにしたもの とWikipediaにはありますが・・・。
結局、Excelみたいなものかと思います。
横軸(レコード)と縦軸(カラムorフィールド)を用意して、
データを体系的に管理しているのがデータベースって感じじゃないでしょうか。
最近になって、上司からデータベースの構築を依頼されることがよくあります。
プログラムの根幹とも言える存在ですし、割と神経を使って構築するところ。
そんなデータベースを、次回は構築してみます。