dポイントプレゼントキャンペーン実施中!

現在サイトの更新履歴を保存する方法としてXML又はオリジナルのログファイル(例:site.log)に書き出そうと思っています。
保存する内容としては「日付」「内容(HTML含む)」を保存したいと思っています。

保存方法として現在メジャーな方法としては何が一番いいのでしょうか?(XML以外等でも問題ありません。DBに保存などでも結構です)

言語はPHP(PHP5)です。

読み込み方法と書き出し方法の参考サイトや、方法をご教示よろしくお願いいたします。

A 回答 (2件)

単純な使い方しかしておりませんが、例えば


---
update: 2012.4.23
content: 内容2
---
update: 2012.04.22
content: 内容1

のようにデータをマイナス3個の行で区切ります。そうすると、1回目、2回目と別々に読み込むことができます。
ちょうどread命令で1行読み込むように、YAMLの場合は---行と---行の間が1命令で一気に読めます。
さらに、配列や構造体のような構造をもったデータの固まりとして読めますので、読み込みが非常に楽です。

PHPは使っていませんので適当かどうかわかりませんが、
http://gihyo.jp/dev/serial/01/yaml_library/0004

私自身は普段はRubyを使っていますので、比較的分かりやすいところで、
http://jp.rubyist.net/magazine/?0009-YAML

PHPも Syck ライブラリを使っているようなので、多分同じことができると思います。
    • good
    • 0

メジャーとは言えないかも知れませんが、コンピュータに読ませることを前提にした場合には、私自身はYAMLをよく使っています。


いろいろなデータ型を詰め込めますし、基本はテキストですので、logに近い感覚で人が読むことができます。
XMLと同じ様なことができて、見た目は単純なテキストファイルに近いです。
エディタで修正することもできますので、途中でデータ構造が変わっても、手で修正もあります。

基本的には---の行から次の---の行までが1つのデータですので、その中に日付やHTMLも配列の中に全部突っ込めます。
読み込むプログラム言語のデータ型が対応していればその間のデータを一気に読み込めますのでラクチンです。

この回答への補足

回答ありがとうございます。
YAMLの解説を色々見てみたところ非常に簡単にできるようで使ってみようかと思っています。

しかしながらYAMLの参考サイトが少なくどのようにしてyml内の要素?を取り出せばいいのかがわかりません。

testyml:
up:
update:2012.4.23
content:内容2
up:
update:2012.04.22
content:内容1
上記のような場合1番目の(4月23日)の内容だけを取り出す方法などはどのようにすればいいのでしょうか?
また、上記のように追加する場合の方法などもご教示いただけましたらよろしくお願いいたします。(参考サイトでも問題ございません)

補足日時:2012/04/23 10:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!