PHPのglob関数でファイル名のみ取得する方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPのglob関数でファイル名のみ取得する方法について現役エンジニアが解説しています。glob関数とは、PHPでパターンにマッチするファイルパスを探すことができる関数です。引数のオプションフラグについて解説します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、PHPのglob関数でファイル名のみ取得する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

今回は、PHPに関する内容だね!

どういう内容でしょうか?

PHPのglob関数でファイル名のみ取得する方法について詳しく説明していくね!

お願いします!
目次
glob関数とは
glob関数はPHPの標準関数で、PHP4.3.0以上の4系、 PHP5系、 PHP7系で利用できます。
glob関数はパターンにマッチするパスを探すことができる関数です。
あるフォルダの中に入っている特定のパターンに一致するファイル名を取得することができる関数です。
[PR] PHPプログラミングで挫折しない学習方法を動画で公開中
glob関数でファイル名のみを取得する方法
glob関数は以下のように記述しましょう。
glob(ファイル名を取得したいパス[, オプションフラグ]);
glob関数の第1引数に探したいパターンになるパスを指定します。
指定したパスから配列の形式でファイル名やフォルダ名を取得可能です。
オプションフラグは、任意で設定することができ以下の値を設定できます。
オプション | 説明 |
---|---|
GLOB_MARK | 各ディレクトリにスラッシュを追加することが可能 |
GLOB_NOSORT | ? ディレクトリに存在するファイルを返す |
GLOB_NOCHECK | ? パターンにマッチするファイル無いときに、パターン自体を返す |
GLOB_NOESCAPE | バックスラッシュを利用した、メタ文字のクォートを行わない |
GLOB_BRACE | 「a」、「b」あるいは「c」のいずれかにマッチさせることが可能 |
GLOB_ONLYDIR | パターンにマッチするディレクトリのみを返す |
GLOB_ERR | ディレクトリを無事ができない等のエラーの際は処理を停止 |
実際に書いてみよう
glob関数を使ってファイル名を取得してみましょう。
ソースコード
<?php echo "*と書く場合<br/>"; foreach (glob("TEST/*") as $filename) { echo$filename."<br/>"; } echo "<br/>*.phpと書く場合<br/>"; foreach (glob("TEST/*.php") as $filename) { echo$filename."<br/>"; } echo "<br/>*.*と書く場合<br/>"; foreach (glob("TEST/*.*") as $filename) { echo$filename."<br/>"; }
実行結果
*と書く場合 TEST/TEST02 TEST/test01.txt TEST/test02.txt TEST/test03.txt TEST/test04.txt TEST/test05.php *.phpと書く場合 TEST/test05.php *.*と書く場合 TEST/test01.txt TEST/test02.txt TEST/test03.txt TEST/test04.txt TEST/test05.php
フォルダ名/*とするとフォルダの下のファイル名とフォルダ名を取得します。
フォルダ名/*.phpとするとPHPファイルのみ取得します。フォルダ名/*.*とすると全てのファイル名を取得可能です。
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
まとめ
この記事ではPHPのglob関数でファイル名のみ取得する方法について解説しました。
glob関数は最近使えるようになった便利な関数です。
使い方を理解して使えるようにしましょう。
執筆してくれたメンター
メンターSさん
システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。 JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。 |

PHPのglob関数でファイル名のみ取得する方法がよく分かったので良かったです!

ゆかりちゃん、これからも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)