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

    generazione al volo di file zip

    Ciao

    da una pagina web genero dei file zip in questo modo:

    Codice PHP:

    /*.... query nel database ... */
    header("Content-Type: application/x-zip-compressed");

    header("Content-Disposition: attachment; filename=\"$rs[file_name]\"");
    header("Cache-control: private");
    echo 
    $rs["file_data"]; 
    file_data è un campo di tipo longblob in un db mysql.

    I file caricati sono dei file.zip

    Con Firefox il file si scarica e non ha nessun problema.
    Con IE il file si scarica ma viene dato come corrotto.

    Ho notato, che se carico un file con la dimensione di 3975727

    Il file scaricato da FF è di 3975727
    Il file scaricato da IE è di 3958555

    A cosa può essere dovuto?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    attenzione perchè, se non fosse per il fatto che un cliente mi sta minacciando di castrazione chimica... la cosa potrebbe risultare ache divertente...

    ho fatto una modifica al codice:

    Codice PHP:
    /*query e header*/
                    
    $filename "/tmp/__".md5(APPLICATION_HOST.$file_id);
                    if (!
    $handle fopen($filename'w')) {
                        throw new 
    Exception("Impossibile aprire $filename");
                    }
                    if (
    fwrite($handle$rs["file_data"])== FALSE) {
                        throw new 
    Exception("Non si riesce a scrivere nel file ($filename)");
                    }
                    
    fclose($handle);                
                    
    readfile($filename); 
    questo codice scrive il file su filesystem, e poi lo legge tramite una readfile.

    La dimensione del file generato su filesystem è esattamente di 3975727
    eppure, scaricando con IE la dimensione è differente.

    perchè?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  3. #3
    mah certo che la cosa non mi stupisce..di solito explorer è ben noto per il fatto che segue solo in minima parte le raccomandazioni del W3 mentre Gecko il motore di Firefox lo segue al 100%..potrebeb anche essere per questo, gli header di explorer vengono eseguiti in modo diverso da Firefox

  4. #4
    ho risolto forzando l'header a un generico octet stream
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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.