PHPでフォルダ内にある画像ファイル一覧を取得する

スポンサーリンク
スポンサーリンク

フォルダ内の画像ファイル名を一覧取得

「product」というフォルダの中に複数の画像ファイルが入っていたとする。
その中の.jpgファイルだけ取得してimgタグにて書き出す方法。

<?php
$dir = "product/";
$filelist = glob($dir . '*.jpg');
foreach ($filelist as $file) {
	if (is_file($file)) {
echo <<< eof
  <li><img src="{$file}"></li>
eof;
	}
}
?>

grobで特定の拡張子だけ選ぶ方法

//.jpgだけ選ぶ
$filelist = glob($dir . '*.jpg');

//.pngだけ選ぶ
$filelist = glob($dir . '*.png');

//.txtだけ選ぶ
$filelist = glob($dir . '*.txt');

glob — パターンにマッチするパス名を探す
glob(string $pattern, int $flags = 0): array|false

Special characters:

* – ゼロ文字以上の文字にマッチします。
? – 正確に(任意の)一文字にだけマッチします。
[…] – グループ化された文字のうち、一文字にマッチします。
はじめの文字が ! だった場合、 グループにないあらゆる文字にマッチします。
\ – 次に来る文字をエスケープします。 但し、GLOB_NOESCAPE が使われている場合は除きます。

$patternの例
???.png⇒拡張子は.png、ファイル名は任意の3文字
a*.png⇒拡張子が.png、先頭の文字は必ずa、それ以降は0個~無限の任意の文字

PHP
スポンサーリンク
のんびりブログ

コメント

タイトルとURLをコピーしました