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)