Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169

    Download file.zip da mysql problema

    Ciao a tutti,

    Devo far scaricare dei file.zip contenuti nel mio database mysql

    Sto utilizzando uno script, che ho modificato, che utilizzavo per far vedere dei pdf in una popup... ora lo modificato per far scaricare dei file.zip funziona perfettamente solo che mi scarica qualsiasi file.zip con il nome della pagina e non con il nome del file.

    per esempio se io scarico il file pluto.zip lo script mi sostituisce il nome del file con il nome della pagina che richiamo cioè view.zip ecco lo script

    Codice PHP:
    Pagina index.php
    .....
    [url="View.php?id=<?php echo $tmp[ID_File]; ?>"]<?php echo $tmp[Nome_File]; ?>[/url]
    ....


    Pagina view.php
    // connessione e selezione del database
    include("xxx.php");

    // query per recuperare il file
    $query = 'SELECT * FROM VideoBrochure WHERE ID_File = '.$_GET['id'];
    $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());
    $tmp = mysql_fetch_array($risultato);

    // invio una intestazione contenente il tipo MIME
    header('Content-Type: '.$tmp['Tipo_File']);

    // invio il contenuto del file
    echo $tmp['Dati_File'];
    dove sbaglio ?

    grazie

  2. #2
    Ti manca un header:

    codice:
    header("Content-disposition: inline; filename=".$nome_del_file);
    Da inserire subito sotto:

    codice:
    header('Content-Type: '.$tmp['Tipo_File']);
    e per completezza dovresti inserire anche la dimensione del file:

    codice:
    header("Content-length: " . $dimensione_del_file);

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    Ciao,

    Grazie mille, ora funziona tutto alla grande!

    ho inserito anche la dimensione del file, ma sinceramente non so se sia corretto:

    Codice PHP:
    // dimensioni del file
    header("Content-length: ".$tmp['Dati_File']); 
    nel database la colonna Dati_File corrisponde ad, un file per esempio:

    [BLOB - 5.1MiB]

    è corretto? oppure bisogna fare uno script a parte per estrapolare la dimensioni?

    in ogni caso così funziona tutto !

  4. #4
    Devi calcolare la dimensione del file, ad esempio con:

    Codice PHP:
    // dimensioni del file
    header("Content-length: ".strlen($tmp['Dati_File'])); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    Grazie mille ho sistemato !

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.