my $safe_filename_characters = "a-zA-Z0-9_.-";
sub PLOTTING
{
my ($GRAPH_FH, $mygraph, $graphimage);
open ($GRAPH_FH, '>','/home/deruytja/webserver/output/multiping/'.$graphname.'.png'); #Redirecting Standart Error to file
$mygraph = GD::Graph::linespoints->new(500, 300);
$mygraph->set(
x_label => 'Link',
y_label => 'Antwortzeit in ms',
title => 'Antwortzeiten der Links',
dclrs => ['green'],
y_max_value => $max,
bar_spacing => 10,
show_values => 1,
) or warn $mygraph->error;
$graphimage = $mygraph->plot(\@graphdata);
binmode $GRAPH_FH;
print $GRAPH_FH $graphimage->png;
close $GRAPH_FH;
}
####
sub UPLOAD
{
my $filename = $cgi->param('toping');
if ( !$filename )
{
print $cgi->header ( );
print 'There was a problem uploading your file (try a smaller file).';
exit;
}
my ( $name, $path, $extension ) = fileparse ( $filename, '..*' );
$filename = $name . $extension;
$filename =~ tr/ /_/;
$filename =~ s/[^$safe_filename_characters]//g;
if ( $filename =~ /^([$safe_filename_characters]+)$/ )
{
$filename = $1;
}
else
{
print $cgi->header();
print 'There was a problem with the filename (please rename).';
exit;
}
my $wfile = $cgi->upload('toping');
open(my $DAT,">", "/home/deruytja/webserver/rifucgi/temp_ul/toping.$date") or die 'Error processing file INPUT: ',$!;
binmode $DAT;
while (read $wfile, $data, 1024)
{
print $DAT $data
}
close $DAT;
}
####
if (!length($dateiname) == 0 && $dateiname =~ /^([$safe_filename_characters]+)$/)
{
$out_file = ("$dateiname\_$date.csv") or die 'Error processing file: ',$!;
$graphname = "$dateiname\_$date";
}
else
{
print $cgi->header();
print 'There was a problem with your file name, it was reverted to "ping_" (please change output name).';
$out_file = ("ping_$date.csv") or die 'Error processing file: ',$!;
$graphname = "ping_$date";
}