Hi,
Ik gebruik een relatief simpel Perl script om te kunnen browsen op m'n server.
Dit werkt naar behoren, echter wil ik een iets duidelijker overzicht tussen een bestand en een directory.
Het scriptje checked de grootte van de teruggekregen, en indien het 0 is, gaat 'ie er vanuit dat het een directory is.
Echter op deze manier worden bestanden die in gebruik zijn ook als een directory gezien.
Iemand enig idee hoe ik een betere controle erin kan bouwen ?
Ik gebruik een relatief simpel Perl script om te kunnen browsen op m'n server.
Dit werkt naar behoren, echter wil ik een iets duidelijker overzicht tussen een bestand en een directory.
Het scriptje checked de grootte van de teruggekregen, en indien het 0 is, gaat 'ie er vanuit dat het een directory is.
Echter op deze manier worden bestanden die in gebruik zijn ook als een directory gezien.
Iemand enig idee hoe ik een betere controle erin kan bouwen ?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| #!/perl/bin/perl
# Perl script that shows the contents of a directory
# v0.31 03-Aug-2000 (c) G.Knauf, info@gknw.de
$root = $ENV{'DOCUMENT_ROOT'} ;
$html=1;
$some_dir = ("$ENV{QUERY_STRING}" || "sys:");
if ($html==1) {
print "Content-type: text/html", "\n\n";
print "<body background=/images/mauvepat.jpg>\n";
print "<H2>Directory of $some_dir</H2><BR><PRE><B>\n";}
else {
print "Content-type: text/plain", "\n\n";
print "Directory of $some_dir\n\n"};
# opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!";
# We have to test the dir self as readdir() fails on NetWare if dir is empty!!
die "Couldn't find dir $some_dir" if (!-d $some_dir);
opendir(DIR,$some_dir);
chdir $some_dir;
while($entry=readdir(DIR)) {
next if ($entry eq "." or $entry eq "..");
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)=lstat($entry);
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($mtime);
$date = sprintf("%02d-%02d-%02d %02d:%02d:%02d",$mday,$mon+1,$year+1900,
$hour,$min,$sec);
if ($size!=0) {
$volume = $some_dir ;
$volume =~ s/:// ;
print "\ File: <a href='https://www.oostindie.com/$volume/$entry' target='_blank'>$entry</a> " ;
}
else {
print "\ Directory: <a href='/perl/dir.pl?$some_dir/$entry'>$entry</a> "
};
if ($html==1) {print "<BR>"}
else {print "\n"};
}
closedir DIR;
if ($html==1) {print "</B></PRE>\n"};
exit (0); |