scandir でファイルの一覧を取得する

お恥ずかしい話ながら、ファイルの一覧取得にはずっとdirを使っていて、scandirの存在を知りませんでした。手元の古い本を参考にし続けるのも問題がありますね。(一応PHP5にも対応した本なんですけどねえ)

scandirについては以下のページで解説されています。

PHP: scandir – Manual

scandirに気づいたきっかけは、取得したファイル一覧のソートをしたかったからです。sortコマンド使えば目的は遂行できるのですが、一発でできないものかと調べていたら見つけました。

array scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] )

sorting_orderオプションに何も指定しなければアルファベット昇順とのこと(これが欲しかった)。
しかも配列で返してくれるなんて超簡単じゃないですか。dirさん、さようなら。

ちなみにdirについて、以下のページでは一覧の順番についての注意が記されています。

PHP: dir – Manual

注意:
読み込みにより返されるディレクトリエントリの順番は、システムに依存します。

どうりでローカルのXAMPPとテストサーバーでの挙動が違ったわけです。

PHP, 備忘録 | , , |