むねひろ@プログラマープログラマーの技術や経験の暴露ブログです。何か聞きたいことがあれば遠慮なくご連絡ください。munehiroPHPで指定したディレクトリ内のファイル名とディレクトリ名一覧取得ツイートシェアはてブLINEPocket指定したディレクトリ内のファイル名を一覧で取得したい場合、PHPにはglob()という関数があります。引数にはディレクトリ名を指定するのですが、ワイルドカード(*)が使えるのでディレクトリ内のファイル名やサブディレクトリ名を取得することができます。指定したディレクトリ内の一覧を取得するだけでなく、ちょっとした小細工も試してみました。引数で指定したパターンに一致するパスの一覧を返す関数です。引数に指定する内容で取得できるものが変わってきます。引数にディレクトリ名を入れると、そのディレクトリ内の全てのファイル名とディレクトリ名を返してくれます。あるPHPファイルと同じ階層に「images」というディレクトリを作成し、画像を配置したとします。その場合は次のように書きます。ディレクトリの区切り文字です。Windowsで言う¥と同じようなものです。書くことで、imagesディレクトリの中という意味になります。つけることで、「全て」という意味を加えで、「imagesディレクトリの中の全て」になります。出力すると次のようになります。"images/sub"}最後の要素の「images/sub」はディレクトリです。全てのファイルとディレクトリが取得できました。上の例ではファイル名とディレクトリ名を全て取得していました。次はファイル名は無しでディレクトリ名だけ取得してみます。GLOB_ONLYDIR);var_dump($res);結果は次のようになります。"./images/sub"}結果がディレクトリだけになりました。拡張子を指定して、マッチしたファイルのファイル名を取得する方法です。ファイルだけを取得します。複数の条件を指定でき、{a,b,c}のように書くと、条件aもしくは条件bもしくは条件cのようになります。GLOB_BRACE);var_dump($res);上のように書けば、jpgとjpeg、pngの3つの拡張子のファイルを出力することができます。今回は拡張子を指定しましたが、複数のディレクトリでも可能です。指定したディレクトリの中のディレクトリ(サブディレクトリ)の中もまとめて一覧表示したい場合の方法です。この場合、サブディレクトリの中に更にサブディレクトリがあるかもしれません。いう場合は繰り返して掘り下げていく感じですが、こういうのを再帰的って言うんでしたっけ?ぶっちゃけこういう言葉覚えるの苦手なんです(笑)その掘り下げる方法に関してももっといい方法があるかもしれませんが、僕なりに作成してみたので参考にどうぞ。最初にディレクトリを指定するglobAll('images');面倒ですが、1つ関数(globAll)を作成して、結果の一覧の要素がファイルで無い場合は再度関数を実行するといった内容です。テストもしていないので自己責任でコピーしてください。拡張子を指定する方法や、ディレクトリだけ取得する方法、サブディレクトリも掘り下げて一覧を取得する方法など紹介しましたが、他にも気になることがあればご質問ください。PMはじめまして、原口と申します。メッセージ失礼いたします。webで記事を拝見してDMいたしました。僕は過去300都市を旅している旅好きなんですが、自分の経験から、個人旅行のUXってもっと良くできるのでは、と思って起業して旅行のサービスを立ち上げています。アプリ・webサービス開発中なのですが、旅好きのエンジニアの方と組みたいなと思っており、ブログを見て、突然で恐縮ですがメッセージ致しました。宜しければ、一度お茶かランチでもいかがでしょうか?下記のようなエンジニア募集をしています。現在10名程度のProjectで、副業エンジニアが2名います。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。PHPを使ってサーバー上のファイルを日付指定で削除する方法フォームで選択した画像などのファイルをピュアPHPでアップロードする方法RECOMMENDこちらの記事も人気です。PHP2018.12.28PHPのコメントアウト3種類とよくあるミスPHP2019.1.11PHPの配列の特定要素を削除するunset()を使う場合の注意点PHP2018.12.21PHPのheader関数とLocationでリダイレクトをする方法PHP2019.2.19PHPで画像に直線や四角、楕円の線を引く方法PHP2018.12.27PHPのデバッグで使うvar_dumpとprint_rとvar_expo...PHP2019.1.12PHPの配列の要素数を取得する関数count()の使い方PHP2018.10.5インターフェイスと抽象クラスをPHPで書くPHP2018.10.14PHPでクッキーの値を取得する方法とクッキーに値をセットする方法むねひろ現在36歳。プログラマー歴16年。高校卒業後は調理師見習いをしていたけど、不況で先が不安になり離職。その後上京しハローワークの紹介でプログラマーに。分からないことだらけで辛い日々だったけど、3年頑張ったら色々見えてきてフリーランスに。面白そうなシステム開発をもっとしたい。