SAK 図書館
CGI-Perl 基礎実地編 - 実習13 (フォルダオープン)
■test13.cgi
------ ↓ ここから ↓ ------
#!/usr/local/bin/perl
#// 準備
$cufld = './';
$upfld = '../';
#// カレントフォルダオープン
opendir(DIR, $cufld) or die;
@file1 = sort readdir(DIR);
closedir(DIR);
#// 親フォルダオープン
opendir(DIR, $upfld) or die;
@file2 = sort readdir(DIR);
closedir(DIR);
#// HTML ヘッド出力
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<P>▼ フォルダオープンテスト ▼</P>\n";
#// レコード表示
print '-- カレントフォルダ --<BR>', "\n";
foreach (@file1) {
print $_, '<BR>';
}
print '<BR>';
print '-- 親フォルダ --<BR>', "\n";
foreach (@file2) {
print $_, '<BR>';
}
#// HTML テイル出力
print "</HTML>\n";
#// 終了
exit(0);
------ ↑ ここまで ↑ ------
■解説
・この test13.cgi は、現在のカレントフォルダとひとつ上の親フォルダの
ファイルリストをブラウザに表示します。
$cufld = './';
|_ カレントフォルダ
$upfld = '../';
|_ 親フォルダ
opendir(DIR, $cufld) or die;
| | | |_ エラー時中止
| | |_ カレントフォルダ
| |_ ファイルハンドル
|_ ディレクトリオープン関数
@file1 = sort readdir(DIR);
| | | |_ ディレクトリファイルハンドル
| | |_ ディレクトリ参照
| |_ ファイル名昇順ソート
|_ @file1[0] 〜 [??] にファイル名をセット
closedir(DIR);
| |_ ファイルハンドル
|_ ディレクトリクローズ関数
■補足
・カレントフォルダのファイルリストに test13.cgi が表示されていれば、
cgi の存在場所がカレントとなる環境です。
・ファルリストに「.」と「..」が含まれることがあります。
「.」はカレントを示し、「..」は親フォルダを示します。
■実地
・test13.cgi も実際に作成してテストしてみましょう。
■CGI-Perl 基礎実地編資料
■CGI-Perl 基礎編資料
■CGI-Perl 応用実地編資料
■PHP 基礎編資料
■PHP + MySQL 編資料