オルタナティブ・ブログ > 吉政忠志のベンチャービジネス千里眼 >

IT業界でベンチャービジネスの支援をしている執筆者が日々の活動ログと感じたことを、徒然なるままに書き綴っていきます。

Standard PHP Library(SPL) SplFileInfoクラス編

»

こんばんは。PHP技術者認定機構の吉政でございます。

PHP技術者認定機構の認定スクールであるヒューマンリソシアにて、私が企画支援している親方こと古庄道明氏による、「PHPer上級者になるために知っておきたいこと」の第18回『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/

Furusyo_human_column_3

Comment(0)