まとめディレクトリ内のファイル一覧を取得するにはまず、ディレクトリ内のファイル一覧を取得するためにはいくつかの方法があります。opendir関数とreaddir関数を組み合わせてループ処理を行いながら取得する場合です。こちらは公式ドキュメントからの引用になりますが次のようなコードになります。既知のディレクトリをオープンし、その内容を読み込みます。}}?>ただし、これは少し面倒くさい気もします。PHP4.3以降ではglobというとても便利な関数があるためこの関数を今回は使っていきましょう!globを使ってみるでは早速glob関数を使ってみましょう。glob関数は先程、扱ったopendirとは違い引数に値を渡すだけで戻り値としてディレクトリ内のファイル一覧を配列形式で取得することが可能です。今回はこのようなディレクトリ構成になっているとします。page2.phpSampleDirectoryの中にPHPコードも入っていますが、SampleDirectory2というディレクトリが入れ子になっています。サンプルコードを見てみましょう。glob('./SampleDirectory/*');var_dump($result);?>現在いるディレクトリの下にSampleDirectoryがあるとします。ディレクトリ内のファイルをすべて取得したいためワイルドカード(*)を使ってすべてを指定しています。このサンプルコードの実行結果は次のようになります。"./SampleDirectory2"}このようにSampleDirectory内のファイル一覧が取得できました。ディレクトリについてはディレクトリ名を返しその直下にあるファイル名は返しません。簡単ですよね?次の章では今回指定に使ったワイルドカードをより様々な形で使ってみましょう。先程はワイルドカードを使ってすべてのファイルを読み込むようにしました。拡張子を絞り込んでファイル名一覧を取得したい場合はどうすればよいでしょうか?答えはとても簡単です。拡張子を付けてファイル名だけワイルドカードにすればよいのです。glob('./SampleDirectory/*');となっていました。今回は拡張子を指定しているので次のようなコードに変えています。glob('./SampleDirectory/*.php');これで拡張子がphpのファイルだけ抽出することが可能です。ファイルと同じ階層のファイル名一覧を取得する今度は特定のファイルパスがあり、そのファイルが置かれている場所のファイル名一覧を取得したい場合にどうすればよいかを見ていきましょう。glob(dirname($path));var_dump($result);?>このように、dirname関数を使ってファイルパスからファイル名を取り除き、ディレクトリ名のみにしたあとにglobを呼び出しています。することで指定したファイルパスと同階層のファイル名を取得することができます。まとめ今回はglob関数を使ってディレクトリ内のファイル名一覧を取得する方法について解説しました。opendirで取得する方法もありますが、glob関数のほうが簡単であるため特に問題なければglob関数を使うことをおすすめします。glob関数は取得に失敗するとFALSEを返すのでこの点も合わせて覚えておきましょう!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人オータケ30歳、フリーランスプログラマ。新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。