Alain: wieviel byte... -> eine Möglichkeit

Beitrag lesen

Hi,

könntest Du nicht vor einem upload schnell das Verzeichnis browsen und die Bytes aufsummieren? Dann weißt Du, wieviel DU noch für den neuen upload zur Verfügung stellen willst.

ich habs jetzt so ähnlich grob hingekriegt mit selfhtml:
Hier mal ein Ansatz:
my $dir = '/var/www/html/tom';
my $max = 1024 * 20000;
my @alle;
my $totalbytes = 0;

if(blabla){
upload();
}
else
{
form() unless(bytecheck());
}

exit;

sub bytecheck {
@alle = sort(@alle);
ermitteln($dir);
foreach (@alle){
if ($totalbytes > $maxb){
print "$_ <br>\n";
print "Error - zuviele daten $totalbytes Bytes Total <br>\n";
exit;
}
}
}

sub ermitteln {
my $dir = shift;
my $eintrag;
my $pfadname;
my $jpg_eintrag;
my $bytes;
local *DH;

unless (opendir(DH, $dir)) {
return;
}
while (defined ($eintrag = readdir(DH))) {
next if($eintrag eq "." or $eintrag eq "..");
$pfadname = $dir."/".$eintrag;
if( -d $pfadname) {
$jpg_eintrag = $eintrag;
}
else {
$bytes = -s $pfadname;
$totalbytes += $bytes;
$jpg_eintrag = "$eintrag [$bytes bytes]";
}
push(@alle, $jpg_eintrag);
ermitteln($pfadname) if(-d $pfadname);
}
closedir(DH);
}

Gruss
Alain