Connecting Tech Pros Worldwide Help | Site Map

Internet Explorer 6 refusing to let me download

laredotornado@zipmail.com
Guest
 
Posts: n/a
#1: Oct 25 '06
Hi,

This problem only affects PC IE. On a secured page (a page visited via
https), there is a link that reads -- "Download HTML File". The link
connects to this page

<?php
require("../../util_fns.php");

session_start();

$user_id = $_REQUEST[USER_ID_PARAM];
$file_contents = generateLoginFile($user_id);

header('Content-Type: text/html');
header('Content-Length:' . strlen($file_contents));
header('Content-Disposition: attachment; filename="' .
str_replace("%s", getCompanyName($user_id), AUTO_LOGIN_FILE_TITLE) .
'.html"');

print $file_contents;
?>

However, on Internet Explorer, when I'm prompted to save the file, I
click "Save" and then get an error message stating, "Internet Explorer
cannot download ...ate_login_file.php?UserId=2 from
mysite.mydomain.com.

Internet Explorer was not able to open the Internet site. The
requested site is either unavailable or cannot be found. Please try
again later."

Is there something wrong iwth one of the headers I'm sending? I'm
using PHP 4.4.4.

Thanks, - Dave

Andy Hassall
Guest
 
Posts: n/a
#2: Oct 25 '06

re: Internet Explorer 6 refusing to let me download


On 25 Oct 2006 15:24:54 -0700, "laredotornado@zipmail.com"
<laredotornado@zipmail.comwrote:
Quote:
>This problem only affects PC IE. On a secured page (a page visited via
>https), there is a link that reads -- "Download HTML File". The link
>connects to this page
>
><?php
require("../../util_fns.php");
>
session_start();
>
$user_id = $_REQUEST[USER_ID_PARAM];
$file_contents = generateLoginFile($user_id);
>
header('Content-Type: text/html');
header('Content-Length:' . strlen($file_contents));
header('Content-Disposition: attachment; filename="' .
>str_replace("%s", getCompanyName($user_id), AUTO_LOGIN_FILE_TITLE) .
>'.html"');
>
print $file_contents;
>?>
>
>However, on Internet Explorer, when I'm prompted to save the file, I
>click "Save" and then get an error message stating, "Internet Explorer
>cannot download ...ate_login_file.php?UserId=2 from
>mysite.mydomain.com.
>
>Internet Explorer was not able to open the Internet site. The
>requested site is either unavailable or cannot be found. Please try
>again later."
>
>Is there something wrong iwth one of the headers I'm sending? I'm
>using PHP 4.4.4.
session_start() by default sends a cache control header including "no-store".
Internet Explorer takes this a bit too literally, but doesn't have appropriate
error handling for the case, and as a result explodes cryptically when you
attempt to save the output page to disk.

Before session_start(), add "session_cache_limiter('none');", or look up that
function and tweak the limiter as appropriate (probably 'private' is closer to
the mark).

--
Andy Hassall :: andy@andyh.co.uk :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
Tim Roberts
Guest
 
Posts: n/a
#3: Oct 26 '06

re: Internet Explorer 6 refusing to let me download


"laredotornado@zipmail.com" <laredotornado@zipmail.comwrote:
Quote:
>
>This problem only affects PC IE. On a secured page (a page visited via
>https), there is a link that reads -- "Download HTML File". The link
>connects to this page
>
><?php
require("../../util_fns.php");
>
session_start();
>
$user_id = $_REQUEST[USER_ID_PARAM];
$file_contents = generateLoginFile($user_id);
>
header('Content-Type: text/html');
header('Content-Length:' . strlen($file_contents));
header('Content-Disposition: attachment; filename="' .
>str_replace("%s", getCompanyName($user_id), AUTO_LOGIN_FILE_TITLE) .
>'.html"');
Your headers are lying. You are not sending text/html content. IE can be
somewhat picky about the headers. Try this:

header('Content-Type: application/download');
--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
laredotornado@zipmail.com
Guest
 
Posts: n/a
#4: Oct 26 '06

re: Internet Explorer 6 refusing to let me download


Wow, you're good. Adding

session_cache_limiter('none');

prior to the session_start() directive worked.

Thanks, - Dave

Andy Hassall wrote:
Quote:
On 25 Oct 2006 15:24:54 -0700, "laredotornado@zipmail.com"
<laredotornado@zipmail.comwrote:
>
Quote:
This problem only affects PC IE. On a secured page (a page visited via
https), there is a link that reads -- "Download HTML File". The link
connects to this page

<?php
require("../../util_fns.php");

session_start();

$user_id = $_REQUEST[USER_ID_PARAM];
$file_contents = generateLoginFile($user_id);

header('Content-Type: text/html');
header('Content-Length:' . strlen($file_contents));
header('Content-Disposition: attachment; filename="' .
str_replace("%s", getCompanyName($user_id), AUTO_LOGIN_FILE_TITLE) .
'.html"');

print $file_contents;
?>

However, on Internet Explorer, when I'm prompted to save the file, I
click "Save" and then get an error message stating, "Internet Explorer
cannot download ...ate_login_file.php?UserId=2 from
mysite.mydomain.com.

Internet Explorer was not able to open the Internet site. The
requested site is either unavailable or cannot be found. Please try
again later."

Is there something wrong iwth one of the headers I'm sending? I'm
using PHP 4.4.4.
>
session_start() by default sends a cache control header including "no-store".
Internet Explorer takes this a bit too literally, but doesn't have appropriate
error handling for the case, and as a result explodes cryptically when you
attempt to save the output page to disk.
>
Before session_start(), add "session_cache_limiter('none');", or look up that
function and tweak the limiter as appropriate (probably 'private' is closer to
the mark).
>
--
Andy Hassall :: andy@andyh.co.uk :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
Closed Thread