|
|
#!/usr/local/bin/perl
print "Content-Type: text/html; Charset=Shift_JIS\n";
print "\n";
$QueryString = $ENV{'QUERY_STRING'};
@Fields_Data = split(/&/, $QueryString);
foreach $Field_Data ( @Fields_Data ) {
($Key, $Value) = split(/=/, $Field_Data);
$Value =~ tr/+/ /;
$Value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$QueryString{$Key} = $Value;
}
print <<FRAME;
<HTML>
<HEAD>
<TITLE>ディレクトリメンテナンス</TITLE>
</HEAD>
<FRAMESET id='TopFrame' cols='230,*' framespacing='1' frameborder='1'>
<FRAME name='Ctrl' src='$QueryString{left}.cgi'>
<FRAME name='Act'>
</FRAMESET>
FRAME
| |
|
|
|
|
#!/usr/local/bin/perl
print "Content-Type: text/html; Charset=Shift_JIS\n";
print "\n";
print <<HTML_HEAD;
<HTML>
<BODY>
HTML_HEAD
# **********************************************************
# 処理
# **********************************************************
$TOP = "../dspdata";
opendir( DIR, $TOP );
@file = readdir(DIR);
closedir( DIR );
foreach $entry ( sort @file ) {
next if $entry eq ".";
next if $entry eq "..";
next if !(-d "$TOP/$entry");
print "$entry<br>\n";
}
print <<HTML_FOOT;
</BODY>
</HTML>
HTML_FOOT
| |
|
|
クリックすると右フレームに、さらにディレクトリの内容一覧 |
|
|
#!/usr/local/bin/perl
print "Content-Type: text/html; Charset=Shift_JIS\n";
print "\n";
print <<HTML_HEAD;
<HTML>
<BODY>
HTML_HEAD
# **********************************************************
# 処理
# **********************************************************
$TOP = "../dspdata";
opendir( DIR, $TOP );
@file = readdir(DIR);
closedir( DIR );
foreach $entry ( sort @file ) {
next if $entry eq ".";
next if $entry eq "..";
next if !(-d "$TOP/$entry");
$target = "<A href='subdir.cgi?top=$TOP&target=$entry' target='Act'>";
$target .= $entry;
$target .= "</A>";
print "$target<br>\n";
}
print <<HTML_FOOT;
</BODY>
</HTML>
HTML_FOOT
| |
|
|
#!/usr/local/bin/perl
print "Content-Type: text/html; Charset=Shift_JIS\n";
print "\n";
$QueryString = $ENV{'QUERY_STRING'};
@Fields_Data = split(/&/, $QueryString);
foreach $Field_Data ( @Fields_Data ) {
($Key, $Value) = split(/=/, $Field_Data);
$Value =~ tr/+/ /;
$Value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$QueryString{$Key} = $Value;
}
print <<HTML_HEAD;
<HTML>
<BODY>
HTML_HEAD
# **********************************************************
# 処理
# **********************************************************
$TOP = "$QueryString{'top'}/$QueryString{'target'}";
opendir( DIR, $TOP );
@file = readdir(DIR);
closedir( DIR );
foreach $entry ( sort @file ) {
next if $entry eq ".";
if (-d "$TOP/$entry") {
print "[$entry]<br>\n";
}
}
foreach $entry ( sort @file ) {
next if $entry eq ".";
next if $entry eq "..";
if ( !(-d "$TOP/$entry") ) {
print "$entry<br>\n";
}
}
print <<HTML_FOOT;
</BODY>
</HTML>
HTML_FOOT
| |
|
|
|
|
#!/usr/local/bin/perl
print "Content-Type: text/html; Charset=Shift_JIS\n";
print "\n";
$QueryString = $ENV{'QUERY_STRING'};
@Fields_Data = split(/&/, $QueryString);
foreach $Field_Data ( @Fields_Data ) {
($Key, $Value) = split(/=/, $Field_Data);
$Value =~ tr/+/ /;
$Value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$QueryString{$Key} = $Value;
}
print <<HTML_HEAD;
<HTML>
<BODY>
HTML_HEAD
# **********************************************************
# 処理
# **********************************************************
$TOP = "$QueryString{'top'}/$QueryString{'target'}";
opendir( DIR, $TOP );
@file = readdir(DIR);
closedir( DIR );
foreach $entry ( sort @file ) {
next if $entry eq ".";
if (-d "$TOP/$entry") {
$target = "<A href='subdir.cgi?top=$TOP&target=$entry'>";
$target .= $entry;
$target .= "</A>";
print "[$target]<br>\n";
}
}
foreach $entry ( sort @file ) {
next if $entry eq ".";
next if $entry eq "..";
if ( !(-d "$TOP/$entry") ) {
print "$entry<br>\n";
}
}
print <<HTML_FOOT;
</BODY>
</HTML>
HTML_FOOT
| |
|
|
仕様は省略しますが、いらない最下層ディレクトリを削除 |
|
|
#!/usr/local/bin/perl
print "Content-Type: text/html; Charset=Shift_JIS\n";
print "\n";
$QueryString = $ENV{'QUERY_STRING'};
@Fields_Data = split(/&/, $QueryString);
foreach $Field_Data ( @Fields_Data ) {
($Key, $Value) = split(/=/, $Field_Data);
$Value =~ tr/+/ /;
$Value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$QueryString{$Key} = $Value;
}
if ( $ENV{'REQUEST_METHOD'} eq "POST" ) {
read(STDIN, $Form, $ENV{'CONTENT_LENGTH'});
@Fields_Data = split(/&/, $Form);
close(STDIN);
foreach $Field_Data ( @Fields_Data ) {
($Key, $Value) = split(/=/, $Field_Data);
$Value =~ tr/+/ /;
$Value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Form{$Key} = $Value;
}
}
print <<HTML_HEAD;
<HTML>
<BODY>
<FORM method=post>
HTML_HEAD
# **********************************************************
# 処理
# **********************************************************
$TOP = "$QueryString{'top'}/$QueryString{'target'}";
if ( $ENV{'REQUEST_METHOD'} eq "POST" ) {
$DELDIR = "$TOP/$Form{'send'}";
opendir( DIR, $DELDIR );
@file = readdir(DIR);
closedir( DIR );
foreach $entry ( @file ) {
unlink( "$DELDIR/$entry" );
}
rmdir($DELDIR);
$DELTOP = "../data/$QueryString{'target'}";
$DELDIR = "$DELTOP/$Form{'send'}";
opendir( DIR, $DELDIR );
@file = readdir(DIR);
closedir( DIR );
foreach $entry ( @file ) {
unlink( "$DELDIR/$entry" );
}
rmdir($DELDIR);
}
opendir( DIR, $TOP );
@file = readdir(DIR);
closedir( DIR );
@livefile = ();
$i = 0;
foreach $entry ( @file ) {
next if $entry eq ".";
next if $entry eq "..";
next if $entry eq "title.txt";
if ( !(-d "$TOP/$entry") ) {
open( FILE, "$TOP/$entry" );
@line = <FILE>;
close( FILE );
$livefile[$i] = substr($line[0],0,12) . ".grp";
$i++;
}
}
foreach $entry ( sort @file ) {
next if $entry eq ".";
if (-d "$TOP/$entry") {
$live = 0;
foreach $liveentry ( @livefile ) {
if ( $entry eq $liveentry ) {
$live = 1;
last;
}
}
if ( $live || $entry eq ".." ) {
$target = "<A href='subdir.cgi?top=$TOP&target=$entry'>";
$target .= $entry;
$target .= "</A>";
print "[$target]<br>\n";
}
else {
$target = "<INPUT type=submit name=send value='$entry'>";
print "[$target]<br>\n";
}
}
}
print "<hr>";
while ( ($key,$val) = each %QueryString ) {
print "$key,$val<br>\n";
}
print "<hr>";
while ( ($key,$val) = each %Form ) {
print "$key,$val<br>\n";
}
print <<HTML_FOOT;
</FORM>
</BODY>
</HTML>
HTML_FOOT
| |
|
|
|