- $filename = ereg_replace('[\\/:\*\?"<>\|;]', '_', str_replace(' ', ' ', $filename));
+ $filename = ereg_replace('[\\/:\*\?"<>\|;]', '_', str_replace(' ', ' ', $filename));
+ }
+
+ // A Pox on Microsoft and it's Internet Explorer!
+ //
+ // IE has lots of bugs with file downloads.
+ // It also has problems with SSL. Both of these cause problems
+ // for us in this function.
+ //
+ // See this article on Cache Control headers and SSL
+ // http://support.microsoft.com/default.aspx?scid=kb;en-us;323308
+ //
+ // The best thing you can do for IE is to upgrade to the latest
+ // version
+ //set all the Cache Control Headers for IE
+ if ($isIE) {
+ $filename=urlencode($filename);
+ header ("Pragma: public");
+ header ("Cache-Control: no-store, max-age=0, no-cache, must-revalidate"); # HTTP/1.1
+ header ("Cache-Control: post-check=0, pre-check=0", false);
+ header ("Cache-control: private");
+
+ //set the inline header for IE, we'll add the attachment header later if we need it
+ header ("Content-Disposition: inline; filename=$filename");