2018年08月01日
Docker for Mac を使って WordPress の...
2018年07月29日
Docker for Mac のインストール
2018年07月08日
Docker 便利コマンドあれこれ
2018年07月08日
オライリーの Docker 本(Docker Up &...
2018年07月05日
iPad mini 2 を購入しました
2018年07月04日
Docker で Jenkins するときのあれこれ

HOME > カテゴリ(PHP)の記事

PHP5 で scandir() を使ってファイル(ディレクトリ)を読み込んでみた



PHP5 な人は、readdir() ではなくて scandir() を使った方が良いと思います。

PHP ファイル内から、include() とかじゃなくてディレクトリの一覧を取得したり、 ファイルの一覧を取得したりする方法です。

こちらの記事では、readdir() を使ってファイル/ディレクトリを取得してみましたが、PHP5.x からは、scandir() という関数が使えるようになっていますが、PHP 4.x な人は readdir() でファイル(フォルダ)の読み込みをしてみてください。

関連記事:PHP 4 で readdir() を使ってファイル(ディレクトリ)を読み込んでみた

readdir() だと、読み込み順がバラバラなソートしないといけなかったりハンドラを開いたり閉じたりする必用がありましたが、scandir() はもっと簡単に使えます。

$dir_path = "path/";
$files = scandir( $dir_path );

たったこれだけです。$files にはソートされた形で配列が格納されますので、あとは foreach() でも for でも好きなようにループ回して処理するだけ。

残念ながら scandir() は、PHP4 では使えませんが、PHP5 な人は readdir() の代わりに scandir() を使う方が良いと思います。

参考:PHP: scandir – Manual

ちょっとはまった

readdir() のディレクトリパス指定は、「./hoge/foo 」でできましたが、scandir() の場合は、「./」なしで、「hoge/foo」としないと、上手く読み込めませんでした。

この辺はサーバー環境によるのかな?

なんか良く分かりませんが、上手く読み込めない場合は、パス指定の方法を変えてやると上手くいくかもしれません。

でわでわ。





この記事にコメントする





Copyright © 2012 - 2013 MacBook Air とWordPressでこうなった All rights reserved
Designed by Theme Junkie. Powered by WordPress.