IE not showing PHP-generated images, but Firefox does.

J

Jerry Stuckle

Neredbojias said:
Oh quit being such an asshole.

You should really learn what you're talking about. Idiot.
Anyway, _I_ don't know where in that labyrinth of a php manual you'll
find this (-if anywhere), but I'm tired of wasting my own time. This
line from the code of one of my old pages:

if (!($_FILES['filup']['type'] == "image/jpeg" ||
$_FILES['filup']['type'] == "image/pjpeg")) {

...rather explains it.

An image of an unknown type is uploaded. Determining the type
produces different matches on different platforms; "image/pjpeg" on
Windows and "image/jpeg" on non-Windows. This particular code-bit
came from a page receiving images posted by form. Whether it matters
elsewhere and otherwise, who knows. Have a nice day.
Nope, it explains your code is broken. NEVER rely on the type of
image indicated by the upload. Check it yourself. You will get the
same type on ALL platforms.

Not hardly. I _have_ checked it. Come back when you know what you're
talking about.

I do know what I'm talking about. A lot more than you, obviously. I
pity your customers.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
(e-mail address removed)
==================
 
J

Jerry Stuckle

Neredbojias said:
But but but - Michael Fesser and he are in agreement. Er, sort of.
However, I really think ol' Jer is just parroting one side of an argument
just to stroke the ol' ego, so to speak. I don't give a shit, nor will I
take it; it's no more Mr. Nice Guy from now on. I know what I can do, and
while not perfect, my output beats most anything from anybody else that
I've seen. Another thing is it's fine to criticize, but without providing
some truly _constructive_ information in the process, you're just blowing
your own horn. And to wit, there are a lot of horn-blowers here, -even
fairly intelligent ones.

Thanks for the advice, do.

Wrong answer, idiot. I started replying to you even before I saw
Micha's post.

And we're in agreement because we're both right. But you're just an idiot.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
(e-mail address removed)
==================
 
R

rf

Full quote on purpose!


In this particular case I do really think Neredbojias is actually wrong.
Sorry mate but you really should not look at what the browser (or whatever)
says, you should look inside the file you receive.

However:
Wrong answer, idiot. I started replying to you even before I saw Micha's
post.

A typical Stuckle post. If anybody disagrees then he is an idiot.

If anybody has a different opinion then he is an idiot.

Even if that opinion may be based on, to the anybody, quite reasonable
assumptions, he is still an idiot.

Is this the start of yet another of your bloody pissing contests Stuckle?

I pity your customers Stuckle. They must be yellow, after all the pissing
contests they must have had with you!
 
T

The Natural Philosopher

I have an image being generated by a PHP script--
I didn't write the code-- and the image itself is in a
database.

I've discovered that there is a big discrepancy
between how the images appear in IE7 and FF2,
e.g. for <IMG SRC="image.php?param=foo">.

Namely, they appear just fine in Firefox but
in IE nothing appears at all.

Can anyone tell me know how to make this work
and whether this is a browser issue, a PHP issue,
or what?
This works for me in both.


Obviously there are some bits missing, but the generic header shape is
probably what you want.

image.php
=========

<?php
$id=$_GET['id'];
$query="select picture, picture_filename, picture_size from product
where id='".$id."'";
//echo $query;
$result=mysql_query($query);
if(($result>0) && (($rows=mysql_numrows($result)) == 1)) //got some data
{
$name=mysql_result($result,0,'picture_filename');
$content=mysql_result($result,0,'picture');
$size=mysql_result($result,0,'picture_size');
}
else die();
if ($name="") die();


$mtype=get_mime($name);
header("Content-Type: ".$mtype);
print $content;
?>


mimelib.php
===========

<?php
// looks up mime type in /etc/mime.types and returns the type, or a
default if unmatched
// makes no attempt to interrogate the file content as such.
// THIS NEEDS MORE WORK!!! it doesn't get all types..espcially DWG/DXF!!
// Mind you we don't want to invoke plug-ins for these..
function get_mime($filename)
{
$default="application/force-download";
// first extract the extension
$array=explode(".",$filename); // split the name into the bits
separated by periods
$count=count($array);
if ($count<2) // if there IS NO extension..
return $default; // and let the user sort it out.
$ext=$array[$count-1]; // it will be the last element in the array..
$fp=fopen("/etc/mime.types", "r");
if(!$fp) return ($default); // no /etc/mime.types file
while (!feof($fp))
{
$buffer = fgets($fp, 128);
if (ctype_space($buffer{0}) || $buffer{0}=='#' || $buffer{0}=='\n')
continue; // skip empty lines. or lines starting with spaces
or hashes
sscanf($buffer, "%s %s %s %s %s %s \n",$mime_type,$extension,
$extension1, $extension2, $extension3, $extension4);
if ($ext==$extension || $ext==$extension1 || $ext==$extension2 ||
$ext==$extension3 || $ext==$extension4 )
{
fclose ($fp);
return($mime_type);
}
}
fclose($fp);
return $default;
}


However it WON'T work if invoked directly..it has to be invoked inside
an IMG tag..
 
J

Jerry Stuckle

rf said:
Full quote on purpose!



In this particular case I do really think Neredbojias is actually wrong.
Sorry mate but you really should not look at what the browser (or whatever)
says, you should look inside the file you receive.

However:


A typical Stuckle post. If anybody disagrees then he is an idiot.

If anybody has a different opinion then he is an idiot.

Even if that opinion may be based on, to the anybody, quite reasonable
assumptions, he is still an idiot.

Is this the start of yet another of your bloody pissing contests Stuckle?

I pity your customers Stuckle. They must be yellow, after all the pissing
contests they must have had with you!

You're nothing but a troll - as proven by your post. It has absolutely
no redeeming value. Like you.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
(e-mail address removed)
==================
 
N

Neredbojias

In this particular case I do really think Neredbojias is actually
wrong. Sorry mate but you really should not look at what the browser
(or whatever) says, you should look inside the file you receive.

When you're at your best, there are few better.

Nevertheless, my code validly did exactly what it was supposed to do,
and it is NOT broken. There may be better ways to check the file mime
type, indeed, but my initial reply was to an original post about a
general image file problem; it's purpose was to suggest a possible
anomoly in that area. Fesser and co. decided to attack my statement
with what I considered an out-of-scope slam having little in the way of
supporting data, demonstrating basically nothing more than egotism via
the effort. It pissed me off because it was just arrogance on the part
of those speaking for purposes of simple self-gratification. You are
familiar with arrogance, are you not? Okay, that barb aside, I do
believe your concerns are generally with alt.html posters'
best-interests at heart. It doesn't, on the contrary, seem so with
these guys.
 
M

mynameisnobodyodyssea

I have an image being generated by a PHP script--
I didn't write the code-- and the image itself is in a
database.

I've discovered that there is a big discrepancy
between how the images appear in IE7 and FF2,
e.g. for <IMG SRC="image.php?param=foo">.

Namely, they appear just fine in Firefox but
in IE nothing appears at all.

Can anyone tell me know how to make this work
and whether this is a browser issue, a PHP issue,
or what?

Try a version of your script image.php
with the name of an image file hard-coded in the script,
and not to need a query string,
and see if it works,
to try to localize the error.
 
A

AnrDaemon

Greetings, Jerry Stuckle.
In reply to Your message dated Sunday, March 23, 2008, 00:18:23,
You're nothing but a troll - as proven by your post. It has absolutely
no redeeming value. Like you.

Can I remember a CLI vs. CGI thread to You?
 
H

Harlan Messinger

Jukka said:
Scripsit (e-mail address removed):


You could start from using valid markup.

Even though there's a mistake in the markup (to the OP: the required but
absent ALT attribute), you make *yourself* look clueless. By mentioning
something unrelated to the question asked, you give the impression of
thinking a connection is possible. It isn't, of course, and I'm about as
certain as I can be that you know that.
After validating, post the URL.


There's something wrong in your markup or in your image data.

To get more specific help, give us more specific data.

Heaven forbid you should venture as a possibility the most likely answer.
A browser does not know whether the data comes from a PHP script or from
a "static" file or from a monkey that responds to HTTP requests.

He didn't say otherwise. He asked a question.
 
H

Harlan Messinger

I have an image being generated by a PHP script--
I didn't write the code-- and the image itself is in a
database.

I've discovered that there is a big discrepancy
between how the images appear in IE7 and FF2,
e.g. for <IMG SRC="image.php?param=foo">.

Namely, they appear just fine in Firefox but
in IE nothing appears at all.

Can anyone tell me know how to make this work
and whether this is a browser issue, a PHP issue,
or what?

A couple of folks are sending you in weird directions that surprise me
because in the absence of more specific information from you, your
question happens to have a single *likely* answer, one that has been
discussed in the HTML groups before.

And, no, it isn't a browser-side problem, even if there is one browser
that happens to get the right answer.

You didn't say what kind of image you're sending. How do you think a
browser knows what kind of image it is receiving, in order to be able to
render it? The answer is that the server sends along a Content-type
header. Web servers are typically configured to send JPEG files as

Content-type: image/jpeg

while GIF files are marked "image/gif", etc.

The server will typically be configured to mark responses generated by
PHP files as "text/html" or some XHTML-related type, depending on the
configuration. If instead you are using a PHP file to generated binary
data, then you need, in your PHP code, to set the content-type
explicitly to the right type for your image. Otherwise the browser has
to guess, making whatever choice it's been programmed to make.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,172
Latest member
NFTPRrAgenncy
Top