jstorelv Skrevet 19. september 2008 Del Skrevet 19. september 2008 (endret) Jeg har laget en kode for å laste ned filer som jeg har lagret i en MySQL database. Det fungerer fint i FireFox, men i IE7 funker det ikke. Hvis jeg sier Save i IE7 når jeg skal åpne fila ser jeg at fila som lastes ned blir 0KB. Dette er koden som jeg bruker: <?php $id=strtolower($_GET[id]); $type=strtolower($_GET[type]); if($id) { MYSQL_CONNECT("localhost","username","password"); mysql_select_db("db_name"); $query = 'select bin_data,filetype, filename from '.$type.' where id='.$id; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result,0,"bin_data"); $type = @MYSQL_RESULT($result,0,"filetype"); $size = @MYSQL_RESULT($result,0,"filesize"); $filename = @MYSQL_RESULT($result,0,"filename"); //echo $filename; Header("Content-length: $size"); Header("Content-type: $type"); header('Content-Disposition: attachment; filename="'.$filename.'"'); echo $data; }; ?> Noen som har noen ideer om hva det kan være? Endret 19. september 2008 av jstorelv Lenke til kommentar
Epower Skrevet 19. september 2008 Del Skrevet 19. september 2008 Prøv å legge til header('Cache-Control: '); header('Pragma: '); Lenke til kommentar
jstorelv Skrevet 19. september 2008 Forfatter Del Skrevet 19. september 2008 Prøv å legge til header('Cache-Control: '); header('Pragma: '); Sette Pragma: no-cache og Cache-Control: no.cache ?? Lenke til kommentar
jstorelv Skrevet 19. september 2008 Forfatter Del Skrevet 19. september 2008 Har endret koden til dette nå uten at det ble noe bedre: <?php $id=strtolower($_GET[id]); $type=strtolower($_GET[type]); if($id) { // you may have to modify login information for your database server: MYSQL_CONNECT("localhost","username","password"); mysql_select_db("db_name"); $query = 'select bin_data,filetype, filename from '.$type.' where id='.$id; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result,0,"bin_data"); $type = @MYSQL_RESULT($result,0,"filetype"); $size = @MYSQL_RESULT($result,0,"filesize"); $filename = @MYSQL_RESULT($result,0,"filename"); //echo $filename; header("Pragma: public"); header("Expires: 0"); // set expiration time header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Description: File Transfer"); header('Content-Disposition: attachment; filename="'.$filename.'"'); header("Content-Type: $type"); header("Content-Transfer-Encoding: binary"); header("Content-length: $size"); echo $data; }; ?> Lenke til kommentar
jstorelv Skrevet 19. september 2008 Forfatter Del Skrevet 19. september 2008 Og der fant jeg ut av hva det var selv..... Hadde glemt å ta med filesize i spørringen min fra db'en.... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå