Ho creato uno script in php che effettua il download dei files salvati in una cartella protetta da Apache...ma al momento di scaricare il file, scarica il file scelto ma di 0 byte di dimensione, come mai?

Lo script è questo:

Codice PHP:
<?php
include_once("common.php");
         
session_start(); //si inizia o continua la sessione
         
$percorso = isset($_GET['percorso']) ? $_GET['percorso'] : "" //Percorso relativo del file da scaricare
         
if(IsSet($_SESSION['user']) && IsSet($_GET['percorso']))//siamo loggati
         
{                 
                     if(
ini_get('zlib.output_compression')) { ini_set('zlib.output_compression''Off'); }  
                                        
                    
$file $host.$rootdir.$archivio.$percorso//Percorso assoluto del file da scaricare
                    
$address_file str_replace('downloadFile.php',$archivio.$percorso,$_SERVER['SCRIPT_FILENAME']);
                    if (
strpos($_SERVER["SystemRoot"],'WINDOWS') > 0){
                                
$address_file str_replace('/','\\\',$address_file); // Percorso fisico del file da scaricare (C:\\www\\apache\\httpsdoc\\gestionale\\archivio\\ecc...)
                    }
                    $userpass = md5($username_areariservata . ":" . $password_areariservata); 
                    header("Authorization: basic $userpass");
                    header('
Pragma: public');   // required  
          header('
Expires0');       // no cache  
          header('
Cache-Controlmust-revalidatepost-check=0pre-check=0');  
          header('
Cache-Control: private',false);  
          header("Content-Type: application/force-download"); 
          header('
Content-Dispositionattachmentfilename="'.basename($file).'"');  
          header('
Content-Transfer-Encodingbinary');  
          header('
Content-Length'.filesize($address_file) );    // provide file size  
          //readfile($accesso);       // push it out  
          exit();  

         }else{
                      header("Location: $servername$rootdir?pg=filenotfound"); 
         }
?>
Premetto che la funzione filesize($address_file) mi restituisce esattamente la dimensione del file, ma al moemnto di scaricare il file mi scarica 0 bytes, qualcuno saprebbe darmi qualche dritta?