For reference, I have already read and tried the answers in these and several other threads:
Creating and serving zipped files with php
Opening downloaded zi
Well, I presume you know that your $fsize variable is not being written to that header because it's enclosed by quotes. You could try something like this:
header('Cache-Control: public');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename=\"".$zipname."\"');
header('Content-Type: application/zip');