PDA

View Full Version : This is how to force text file download


Dylan Leblanc
08-15-2003, 10:31 AM
I have often heard people asking how to force a file download of a text file, rather than having the browser display the file. The way to do it is to send a Content-type: application/octet-stream header, but that doesn't work with Internet Explorer.

IE and Opera need Content-type: application/octetstream


I found this code in phpMyAdmin

if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) {
$browser_version = $log_version[2];
$browser_agent = 'OPERA';
}
else if (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) {
$browser_version = $log_version[1];
$browser_agent = 'IE';
}
else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) {
$browser_version = $log_version[1];
$browser_agent = 'OMNIWEB';
}
else if (ereg('(Konqueror/)(.*)(;)', $_SERVER['HTTP_USER_AGENT'], $log_version)) {
$browser_version = $log_version[2];
$browser_agent = 'KONQUEROR';
}
else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) {
$browser_version = $log_version[1];
$browser_agent = 'MOZILLA';
}
else {
$browser_version = 0;
$browser_agent = 'OTHER';
}


$mime_type = ($browser_agent == 'IE' || $browser_agent == 'OPERA')
? 'application/octetstream'
: 'application/octet-stream';


header('Content-type: ' . $mime_type);
header('Content-Disposition: filename=file.txt');

SpeedFreak
08-15-2003, 02:37 PM
check the box that says 'disable smilies in this post' :p

Dylan Leblanc
08-16-2003, 12:30 AM
Oh yeah, I have done that now