〈PHP〉ファイル一覧を取得する
PHPでディレクトリ内のファイル一覧を取得するメモ。画像リストとかそういうのに使える。
glob()関数を使う
ワイルドカード(*)が使える。拡張子も可。ただしソートはできない。
foreach(glob('./img/*.jpg') as $filename) { //画像表示(リンク付き) echo '<a href="' . $filename . '"><img src="' . $filename . '" alt="log"></a>' . "\n"; //ファイル名のみ echo "$filename\n";}
1行目(foreach〜の部分)でディレクトリ指定できる。
複数指定する場合は以下のように。
foreach(glob('./img/{*.gif,*.jpg,*.png}',GLOB_BRACE) as $filename) {}
glob()関数を使わない
sort()関数を使いたい場合。
$res_dir = opendir('./img/');while(false !== ($file_list[] = readdir($res_dir)));closedir($res_dir);
rsort($file_list);
foreach($file_list as $key=>$file) { echo '<a href="' . $file . '"><img src="./img/' . $file . '" alt="log"></a>' . "\n";}