E' Capitato spesso di ricevere e-mail da utenti del mio sito che mi indicavano di aver scaricato un file Zip corrotto ...
a cosa è dovuto questo problema? e come risolverlo?
-----
caso ha voluto che le ho provate tutte (basta vedere i miei numerosi post sull'argomento )
su altervista la compressione delle zlib è on a differenza di molti altri server dove zlib.output_compression è settato su off
-----
il componente docman ha un bug con ie al momento del download restituisce file corrotti o binari
il file da modificare è DOCMAN_file.class.php e si trova qui
/administrator/components/com_docman/classes/
cercate questo codice e in evidenziato ci sono le modifiche
Codice PHP:
header("Pragma: public");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
header('Content-Disposition: attachment; filename="' . $this->name . '"');
header('Content-Disposition:' . $cont_dis .';'
. ' filename="' . $this->name . '";'
. ' modification-date="' . $mod_date . '";'
. ' size=' . $fsize .';'
); //RFC2183
//MODIFICA
if(@zlib_get_coding_type() != "gzip") {
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $fsize);
}
//commentate questa riga
// header("Content-Type: " . $this->mime ); MIME type
//aggiungete questa
header("Content-Type: application/octet-stream");
if( ! ini_get('safe_mode') ) { // set_time_limit doesn't work in safe mode
set_time_limit(0);
}