任意のディレクトリの内容を取得する

任意のディレクトリの中身を取得してどうこうしたい場合って、結構ある気がするんだが。
特に画像のみを取得して、一発で一覧表示、とか出来れば、非常に便利だし。っていうか便利だよ実際。
実は結構簡単に出来るので、ざっと書いておく。

ディレクトリ内のファイルの一覧を取得する

@file_list =();
 $dir = 'Target_Dir._Name';	#対象ディレクトリ
 opendir DH, $dir or die "$dir:$!";
 $i = 0;
 	while ($file = readdir DH) {
 	next if $file =~ /^\.{1,2}$/;
 	$i++;
 	$file_list[$i] = $file;
 	}
 closedir DH;
 
 #これで @file_list にファイルの一覧が格納された
 
 #print "@file_list";	#出力テスト用

おまけ:ディレクトリ内のJPGファイルのみを表示してみる

上記に続けて、
	foreach (0..$#file_list){
 	print "<img src=\"$dir/$file_list[$_]\">\n" if ($file_list[$_] =~ /.jpg/);
 	}
とすれば、まあ拡張子が.jpgのファイルは全て表示される。
ただしこの処理は、正確には「ファイル名に.jpgを含む全てのファイル」を出力しているだけ。
つまり「hoge.jpg.txt」とかでも含んでしまうので、処理として完璧ではない。まあ普通には、これでも充分実用に耐えるけど。

この辺の画像の種別やら判別やら画像サイズの取得等は、必要に応じて自分で工夫してみてね。

2017/08/30(水)
フエダイ釣れました(54センチ・2キロ)
2017/08/29(火)
パッとしない
2017/08/25(金)
変なの釣れたw
Keyword : ディレクトリ,フォルダ,内容,ファイルリスト,取得

CopyRight 2004 - 2017 © Nap.st all right reserved.