|
Posted by Andy Hassall on 10/25/06 22:55
On 25 Oct 2006 15:24:54 -0700, "laredotornado@zipmail.com"
<laredotornado@zipmail.com> wrote:
>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
[Back to original message]
|