PHP フォルダ内のファイルの一覧を取得するサンプル(glob)

PHPを使用して、フォルダ内のファイルの一覧を取得するサンプルです。
glob関数を使用します。

確認環境
・PHP 7.1.8
・XAMPP 7.1.8
・Windows 10

目次

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

ファイルの一覧を取得するコードです。
2行目は、絶対パスを指定しています。
→相対パスでの指定も可能です。(例:$dir = '../../../test1/';)
4行目は、glob関数で指定先にあるフォルダとファイルを取得しています。
8行目は、is_file関数でファイルかどうか判定しています。

<?php
$dir = 'd:/test1/';

$filelist = glob($dir . '*');

foreach ($filelist as $file) {

	if (is_file($file)) {
		print($file);
		echo nl2br("\n");
	}
}
?>

拡張子を指定してファイルの一覧を取得

拡張子を指定してファイルを取得するコードです。
4行目のGLOB_BRACEは、glob関数のフラグです。 {}の中の値と一致するか判定します。
→*.txtまたは*.csvと一致するものを抜き出します。

<?php
$dir = 'd:/test1/';

$files = glob($dir.'{*.txt,*.csv}',GLOB_BRACE);

	foreach ($files as $file) {

		if (is_file($file)) {
			print($file);
			echo nl2br("\n");
		}
	}
?>

フォルダをまたいでファイルの一覧を取得

フォルダをまたいで取得するコードです。
2行目は、パスにアスタリスクを指定しています。
→d:/test1配下にあるフォルダの中の*.txtまたは*.csvと一致するものを抜き出すという意味になります。

<?php
$dir = 'd:/test1/*/';

$files = glob($dir.'{*.txt,*.csv}',GLOB_BRACE);

	foreach ($files as $file) {

		if (is_file($file)) {
			print($file);
			echo nl2br("\n");
		}
	}
?>

リンク

以下は、PHPマニュアルのglob関数のリンクです。
http://php.net/manual/ja/function.glob.php

関連の記事

PHP CSVを読み込むサンプル (SplFileObject )
PHP 外部のphpファイルを読んで評価するサンプル(include/require)
PHP formのsubmitでファイルをアップロードするサンプル
PHP ファイルに書き込むサンプル (fwrite/file_put_contents)




△上に戻る