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

    problema con il download file

    ciao,

    ho eseguito un upload via ftp sul server di un file di prova ( zip ed exe ). il file è stato correttamente inserito.
    il problema è nel download che mi tronca il file.
    praticamente se il file originario è di 28KB me lo scarica a 640 bytes.
    Ma perchè????

    vi posto il codice:
    codice:
    include("ftp_connect.php");
    
    //QUERY SELEZIONE FILE
    $query = mysql_query("SELECT * FROM files WHERE  id_files = '{$_GET['id']}'")or die(mysql_error());
    $result = mysql_fetch_assoc($query);
    
    
    
    $name =$result['filename'];
    $type = $result["filetype"];
    
    //DATI RECUPERO FILE SUL SERVER
    $destination_file = 'c:/'.$name;
    $source_file = '/prove/prova_ftp/'.$name;
    ftp_get($connect, $destination_file, $source_file, FTP_BINARY) or die("Errore durante il recupero del file dal server ftp");
    
    
    
    // SE IL BROWSER E' INTERNET EXPLORER
    if(ereg("MSIE ([0-9].[0-9]{1,2})", $_SERVER["HTTP_USER_AGENT"])) {
    
    header("Content-Type: application/octetstream");
    header("Content-Disposition: inline; filename=$name");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Pragma: public");
    
    } else {
    
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=$name");
    header("Expires: 0");
    header("Pragma: no-cache");
    
    
    }
    
    //STAMPO IL FILE
    $data = fopen($source_file, "rb");
    $file= fread($data,filesize($source_file));
    
    echo $file;
     exit;
    
    fclose($data);
    
    // CHIUDIAMO LA CONNESSIONE
    mysql_close();

  2. #2
    un fclose e un mysql_close dopo un exit ? ... e a cosa servono se non verranno mai eseguiti ?


    cmq, oltre questo, guarda qui http://www.devpro.it/php4_id_72.html

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    grazie mille, andr3a.
    hai ragione sull'exit, ma ho postato un pezzo non aggiornato...

    ma senza stravolgermi tutto, sapresti dirmi per quale motivo ho questo problema?
    sai com'è, dopo tanta fatica avrei piacere di risolvere gli script che cerco di fare da solo!

  4. #4
    non lo so, ho creato apposta quella funzione proprio per potermi dimenticare dei problemi di download ...


    codice:
    include("ftp_connect.php");
    include("forceDownload.php");
    $query = mysql_unbuffered_query("SELECT filename FROM files WHERE  id_files = '{$_GET['id']}'") or die(mysql_error());
    $result = mysql_fetch_assoc($query);
    mysql_close();
    forceDownload('/prove/prova_ftp/'.$result['filename']);


    cmq sia non pensare che con ftp riesci a mettere dove dici tu il file sul client ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    ok a ri-grassie.
    adesso provo.

    ps: cosa intendi dire con

    non pensare che con ftp riesci a mettere dove dici tu il file sul client
    ??

  6. #6
    andr3a,

    ho fatto una prova con la tua funzione, ma mi restituisce questo errore:


    Fatal error: Cannot pass parameter 1 by reference in c:\.....\d_f_res.php on line 15
    alla linea 15 c'è:

    forceDownload('/prove/prova_ftp/'.$result['filename']);

    adesso che mi hai obbligato( ) ad usare questa funzione, non mollarmi qui!!

  7. #7
    scusami

    forceDownload($file = '/prove/prova_ftp/'.$result['filename']);








    Per quella frase intendo dire che non puoi salvare sul C: dell' utente, stai lavorando su un server, non in locale, non dimenticarlo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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 © 2024 vBulletin Solutions, Inc. All rights reserved.