la premessa e' che cosi' funziona alla perfezione, lo zip non e' corrotto ed il file al suo interno ha il nome corretto, senza le quadre insomma ...
Codice PHP:
$f = "../timplates/".$my_filename;
$fp = fopen($f, "r");
$myfile = fread($fp, filesize($f));
fclose($fp);
require_once("../timplates/archive.php");
$zipfile = new zipfile();
$zipfile->addfile($myfile,$my_filename);
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename='.$my_filename.'.zip');
header("Content-Transfer-Encoding: binary");
echo $zipfile->getdata();
exit(0);
cmq faceva la stessa identica cosa col gz, col bz, con priz, il proz, il funcz ...

P.S. il size non c'e' perche' lo creo on-the-fly ... c'e' una gestione di downloads in db quindi volevo evitare links a file esterni