Hallo, folgendes Download-Script:
function download_file() {
global $mkportals, $DB, $mklib, $mklib_board;
$file= $mkportals->input['file'];
$ide= $mkportals->input['ide'];
$query = $DB->query( "SELECT downloads FROM mkp_download where id = '$ide'");
$row = $DB->fetch_row($query);
$downloads = $row['downloads'];
++$downloads;
$DB->query("UPDATE mkp_download SET downloads ='$downloads' where id = '$ide'");
$DB->close_db();
$real_file = "mkportal/modules/downloads/file/mk_".$ide."_".$file;
$real_file = preg_replace("(.\*)\..\*
", "\1", $real_file);
$real_file .= ".mk";
if (is_file("mkportal/modules/downloads/file/".$file)) {
rename("mkportal/modules/downloads/file/".$file, $real_file);
}
@header( "Content-Type: application/octet-stream\nContent-Disposition: inline; filename="".$file.""\nContent-Length: ".(string)(filesize( $real_file ) ) );
$fh = fopen( $real_file, 'rb' );
fpassthru( $fh );
@fclose( $fh );
exit();
}
Das Problem ist nun dass wenn die Datei die heruntergeladen werden soll z.B. eine .txt Datei ist, das sie nicht gespeichert wird sondern der Inhalt der .txt-Datei angezeigt wird.
Ich habe versucht den header zu ändern ohne Erfolg.
Wie muss es lauten damit auch text-Dateien heruntergeladen werden können.
Das Seltsame ist im Firefox funktioniert das Script problemlos.
Nur im Internetexplorer (6.0.2900.xxx SP2) funktioniert es nicht.
Gruß Andreas