Standard PHP Library(SPL) SplFileInfoクラス編
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「Standard PHP Library(SPL) SplFileInfoクラス編」を公開しました。
DirectoryIteratorつながりで、今回はSplFileInfoクラスを見ていきましょう。
単体でSplFileInfoクラスを使う場合、ファイル名を渡して、以下のようにインスタンスを作成します。
$file = new SplFileInfo(__FILE__);
SplFileInfoですが、かなり色々なメソッドを持っています。
そのほとんどは、PHPの標準関数で提供されているものでもあるのですが。「1つのファイル、というインスタンス」を持ち回ってプログラムが書けるので、オブジェクト指向プログラミングになれている人は、SplFileInfoクラスでインスタンス作って…という流れのほうが、書きやすいし読みやすいかもしれませんね。
では、実際にわたしがよく使うメソッドを中心に、いくつかご紹介差し上げたく思います。
「内容が偏ってるよねぇ」と思った場合、それは多分「筆者の業務に偏りがある」だけなので、
その辺は生暖かく見守っていただければ幸いです。
$file = new SplFileInfo(__FILE__);
var_dump($file->getATime());
var_dump($file->getCTime());
var_dump($file->getMTime());
上から順番に「ファイルの最終アクセス時刻(ATime)」「inode 変更時刻(CTime)」「最終変更時刻(MTime)」を取得します。
なお「inode 変更時刻」ってのは、パーミッション、所有者、グループなどが変更されたタイミングですね。inode自体については、ファイルシステムそのものを学ぶと出てくる概念です。一度は調べて、ファイルが「どのように」磁気媒体その他に格納されているか、を知っておくと非常に便利だったり有利だったりしますね。
この続きは以下をご覧ください
http://resocia.jp/column/498/
ソーシャルもやってます!