■=Perl, ■=結果
このページではディレクトリーの中にどのようなファイルがあるかを表示することを目的にしています。次のページ「サイトマップ」でサイトマップ作成の説明をしますので、そのための入門篇でもあります。(多くのページではCGIを実際に動かしながらテストをできるようにしていますが、このページでは解説だけにしています) |
| opendir(ファイルハンドル, ディレクトリ名) |
| readdir(ファイルハンドル) |
| closedir(ファイルハンドル) |
| rmdir(ディレクトリ名) |
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
opendir(DIR, '.');
while (defined($dir = readdir(DIR))) {
print "$dir<br>\n";
}
closedir(DIR);
|
opendir(DIR, '.'); |
while (defined($dir = readdir(DIR))) {処理の繰り返し}
|
. .. cocohome.cgi l_yymmdd_1.cgi l_yymmdd_2.cgi l_yymmdd_3.cgi l_yymmdd_4.cgi |
closedir(DIR); |
#!/usr/local/bin/perl
#$dirname = '..';
print "Content-type: text/html\n\n";
opendir(DIR, '.');
while (defined($dir = readdir(DIR))) {
print qq|<a href="$dir">$dir</a><br>|;
}
closedir(DIR);
|
. .. cocohome.cgi l_yymmdd_1.cgi l_yymmdd_2.cgi l_yymmdd_3.cgi l_yymmdd_4.cgi |
先ほどのスクリプトにリファーをつけただけです。
私のディレクトリは
| \cocohome | ┬・・・HTMLファイルのディレクトリ | |
| └\cgi-bin | ・・・Perlなどのディレクトリ | |
print qq|<a href="$dir">$dir</a><br>|; |
では\cgi-binのディレクトリではなく一つ上の\cocochomeのディレクトリを表示させてみましょう。ついでに余分なカレントディレクトリや親ディレクトリの"."や".."は余分ですので、HTMLファイルだけ表示するようにしました。
#!/usr/local/bin/perl
$dirname = '..';
print "Content-type: text/html\n\n";
opendir(DIR, $dirname);
while (defined($dir = readdir(DIR))) {
if ($dir =~ /\.s?html?$/) {
print qq|<a href="$dirname/$dir">$dir</a><br>|;
}
}
closedir(DIR);
|
$dirname = '..'; |
if ($dir =~ /\.s?html?$/) {
print qq|<a href="$dirname/$dir">$dir</a><br>|;
}
|
index.html l_yymmdd.html l_print.html l_require.html l_content.html haiku.shtml |
| | Back | Coco's Home | ココとPerlで遊びませんか | |