What, exactly, do you expect
$fsize = -s $filename;
to do if $filename doesn't exist in the same directory that holds the script? You're doing this before you've created "$upload_dir/$filename". Is that what you intend to do?
The $fsize = -s $filename is getting the size of the file they are trying to upload so I'll eventually be able to check that the limit is not reached, since 4 files are uploadable at a time from the input form.