• ベストアンサー

フォルダの画像一覧

下記の画像一覧のcgiを下位フォルダをリンク表示して下位フォルダにも進んでいけるようにしたいのですが、どのようにしたらよいでしょうか。下記も教えていただいたものを利用している素人です。よろしくお願いいたします。 $width_height = 'WIDTH=40 HEIGHT=55'; $dir = './'; #################### print "Content-type: text/html;CHARSET=x-sjis\n\n"; print "$dir の jpg一覧<P>\n"; print "<TABLE BORDER>\n"; print "<TR><TH>イメージ<TH>ファイル名<TH>サイズ(k)\n"; opendir(DIR, "$dir"); while ($_ = readdir(DIR)) { if (substr($_,-4,4) eq "\.jpg") { # jpgだけ出力 ($size) = (stat("$dir/$_"))[7]; # ファイルサイズ所得 print "<TR>"; print "<TD><A HREF=\"$dir/$_\" TARGET=\"jpg\"><IMG SRC=\"$dir/$_\" $width_height></A>"; # 画像(リンクあり) print "<TD><A HREF=\"$dir/$_\" TARGET=\"jpg\">$_</A>"; # ファイル名(リンクあり) print "<TD ALIGN=RIGHT>$size\n"; # サイズ } } closedir(DIR); print "</TABLE>\n"; exit:

質問者が選んだベストアンサー

  • ベストアンサー
  • h_hikita
  • ベストアンサー率40% (104/257)
回答No.2

こんなかんじにでもなるんでしょうか... -------------------------------------- #! /usr/bin/perl $width_height = 'WIDTH=40 HEIGHT=55'; $dir = $ARGV[0]; if ($dir eq "" ){ $dir='.'}; #################### print "Content-type: text/html;CHARSET=x-sjis\n\n"; print "$dir ~ jpg~~<P>\n"; print "<TABLE BORDER>\n"; print "<TR><TH>イメージ<TH>ファイル名<TH>サイズ(k)\n"; opendir(DIR, "$dir"); while ($current_file = readdir(DIR)) { if (substr($current_file,-4,4) eq "\.gif") { ($size) = (stat("$dir/$current_file"))[7]; print "<TR>"; print "<TD><A HREF=\"$dir/$current_file\" TARGET=\"jpg\"><IMG SRC=\"$dir/$current_file\" $width_height></A>"; print "<TD><A HREF=\"$dir/$current_file\" TARGET=\"jpg\">$current_file</A>"; print "<TD ALIGN=RIGHT>$size\n"; } elsif ( $current_file !~ /[\.]+/ && stat($current_file) && -d _ ) { # ., .. は除く。 statして directoryかどうかチェックする print "<TD><A HREF=\"$0?$dir/$current_file\" TARGET=\"jpg\">$current_file</A>"; # 本来は$0 でなくてスクリプトの呼び出しを書く。 } } closedir(DIR); print "</TABLE>\n"; exit: --------------------------------------

s-holmes
質問者

お礼

すみません。説明をよく読んでいませんでした。無事動きました。ファイルの確認用に助かります。

s-holmes
質問者

補足

早速の回答ありがとうございます。ディレクトリ名が見事に表示されています。このディレクトリ名のリンクをクリックすると、そのディレクトリの画像が表示されるようにしたいのです。貼り付けCGIばっかり使っているので、改造もできませんので、よろしければさらにコメントいただけると助かります。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • damedame
  • ベストアンサー率64% (9/14)
回答No.1

下位フォルダというのを下のディレクトリという意味で解釈して回答しますが、二行目の文で指定されている$dir='./';の部分を$dir='指定したい下のフォルダ名/'という具合に変えてみてはどうでしょうか? 外していたらごめんなさい

すると、全ての回答が全文表示されます。

専門家に質問してみよう