|
今度は、指定したディレクトリにあるファイルの一覧を出力するCGIです。 動作例
ここを押すと、実行結果がわかります。↓ ソースコード
ちょっと長くなりました。
#!/usr/local/bin/perl
use CGI;
use strict;
my $cgi = new CGI;
my $dir = $cgi->escapeHTML($cgi->param('dir'));
$dir = "." if !$dir;
print $cgi->header, $cgi->start_html("File List : $dir");
print $cgi->h1($dir);
print "<ul>\n";
&show_dir($dir);
print "</ul>\n";
print $cgi->end_html;
sub show_dir {
my($dir) = @_;
my($i, @files, $st);
if(!opendir(DIR, $dir)) {
return;
}
@files = readdir(DIR);
foreach $i (sort @files) {
next if $i eq ".";
print "<li><a href=\"dir.cgi?dir=$dir/$i\">" . &basename($i) .
"</a>\n";
}
closedir(DIR);
}
sub basename {
my($path) = @_;
if($path =~ /.*\/([^\/]+)$/) {
$1;
} else {
$path;
}
}
|
▼ 個人的宣伝
|