下記の画像一覧の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:

A 回答 (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:
--------------------------------------

この回答への補足

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

補足日時:2000/12/26 12:17
    • good
    • 0
この回答へのお礼

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

お礼日時:2000/12/26 12:53

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



外していたらごめんなさい
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ