Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Perchè il download diretto con PHP header non mi funziona?

    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?

  2. #2
    provato un echo $contenuto_del_file; ?

  3. #3
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767

    Commento?

    Hai tolto il commento alla riga?
    Codice PHP:
    //readfile($accesso); 

  4. #4
    Originariamente inviato da Cor3
    provato un echo $contenuto_del_file; ?
    Dici al posto di fare il download?

  5. #5

    Re: Commento?

    Originariamente inviato da Luke70
    Hai tolto il commento alla riga?
    Codice PHP:
    //readfile($accesso); 
    Porca miseriaccia!!!!
    ora funziona!!!!
    Questo script mi sta stressando troppo!!!
    A parte che nn ci avevo fatto caso nn potevo immaginare fosse necessario il readfile :P
    Grazie!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.