hiho,
it could be a ie-problem, see
http://support.microsoft.com/default.aspx?scid=kb;EN-US;810978
g. martin luethi
Thu, 15 Jan 2004 14:18:29 -0800 Bob Eldred <[EMAIL PROTECTED]>:
> Well, I've done a lot of web searching, and a lot of experimentation, but
> haven't hit upon a fix for my issue yet.
>
> Currently, images are served on a site I'm working on in two ways:
>
> 1) Free Images are served normally (<img src="freepic.jpg">).
> 2) Non-Free Images are served through a PHP wrapper with authentication
> functionality in it (<img src="showpicture.php?pid=111384">).
>
> The issues I'm having *only* occur in Internet Explorer, but it's not the
> full-cache issue that Microsoft acknowledges, and I don't honestly believe
> it to be a total bug in IE, since the free images, served up through a
> normal <img> tag work fine.
>
> The issue is that, if the user right-clicks the image, and chooses "Save
> As", it will only save as a BMP. Interestingly, if the user right-clicks on
> a link to a picture, and chooses "save target as", it works just fine.
>
> So far, I've tried the following, with no success:
>
> 1) Mod-Rewrite, rewriting a request of /secure/111384.img to
> /showpicture.php?pid=111384. I did this because it was suggested that IE
> might be looking at the file name in the link, not seeing an image type, and
> therefore defaulting to bmp. The rewrite works successfully, and the
> picture is shown, but the "save as" function still doesn't work. Getting
> the image properties from within IE gives a Type of "Not Available".
>
> 2) Adding, rewriting, subtracting, etc, many many header combinations.
>
> 3) All Microsoft-suggested full-cache problem fixes, just in case.
>
> So, the scripts involved are these:
>
> in functions.php:
>
> function showpix($picture_id)
> {
> $sql="SELECT ug.group_name, p.name from usenet_groups as ug,
> ipictures as
> p WHERE p.id='$picture_id' AND ug.id=p.group_id";
> $result=mysql_query($sql) or die(mysql_error());
> $row=mysql_fetch_array($result);
> $dirhash=get_storage_dir($row["name"]);
> $picturedirectory=STORAGEDIR."/".$row["group_name"];
> $fullpicturename=$picturedirectory."/".$dirhash."/".$row["name"];
> header("Content-Type: image/jpeg");
> header("Content-Length: ".(string)filesize($fullpicturename));
> header("Content-Disposition: inline;
> filename=\"".$row["name"]."\"");
>
> readfile("$fullpicturename");
> return(true);
> }
>
> The page serving the image:
>
> <tr><td><a href="/secure/<?=$row["id"]?>.jpg" target="_BLANK">
> <img src="showpicture.php?type=thumb&pid=<?=$row["id"]?>"><br>
> <?=$row["name"]."<br>".$row["date_added"]?></a>
> <?php if($_SESSION["sec_level"]==4)
> {
> echo "<br><img onClick=\"rethumbnail({$row["id"]});\"
> src=\"/graphics/rethumbnail.png\">".SPACER.
> "<img onClick=\"del_picture({$row["id"]});\"
> src=\"/graphics/trashcan.png\">";
> }
> ?>
> </td>
>
> showpicture.php:
> <?php
> include('dbconnect.php');
> include('defines.php');
> include('functions.php');
> if($_GET["type"]=="temp"||$_GET["type"]=="thumbtemp")
> {
> $sec_level=4;
> }
> else
> {
> $sec_level=2;
> }
> include('validate_user.php');
> switch($_GET["type"])
> {
> case "thumb":
> {
> showthumb($_GET["pid"]);
> break;
> }
> case "temp":
> {
> showpixtemp($_GET["pname"], $_GET["gid"]);
> break;
> }
> case "thumbtemp":
> {
> showthumbtemp($_GET["pname"], $_GET["gid"]);
> break;
> }
> default:
> {
> showpix($_GET["pid"]);
> }
> }
> ?>
>
> Because of the fact that IE can properly determine the image type when
> statically served, I have to believe that something is not being sent
> properly to the browser from within one of these functions.
>
> I apologize for asking this question twice, but having done more research,
> and having unsuccesfully implemented the suggestions given to me last time,
> I'm hoping that someone can point me in the right direction, before I'm
> simply forced to do Apache redirection, which isn't as good as actually
> checking in the session for logged-in status.
>
> Thanks in advance for anything you can throw my way.
>
> Bob
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php