On Mon, October 24, 2005 7:14 pm, Chris wrote: > I don't understand what is going on with a simple example I created to > understand how GD graphics are presented in a web page. Basically, you were right the first time. Think of it this way: HTML pages generally have, well, HTML in them. Sometimes that HTML has an IMG tag, and that provides a URL to an image. But, with static images, you don't copy/paste the image itself right into your HTML. It's just another URL that the browser gets after it gets the HTML. PHP doesn't change any of this, really, except that now the URL for the image just *happens* to be an image that is composed on the fly. > Now if I treat graphic.php as an image, and reference in another page graphic.php *is* an image, just like, any other image. So you should treat it like an image. > my_graphic.png is no longer displayed and the web page gets filled > with > random characters. If you had a PNG, and if you opened up that file in Notepad/BBEdit/vi and you copied all the stuff out of it and pasted it into your HTML, that's pretty much what you would get, right? Just like you just did with PHP doing the "paste" Now, one little caveat: Microsoft, in its infinite wisdom, frequently IGNORES the "Content-type:" head from the HTTP specification in various versions of Internet Explorer. Instead, MS IE will examine the URL and see: graphic.php and say, "Oh, never mind that silly HTTP specification and Content-type, *this* must be a .php file because it ends in .php, and everybody uses 8.3, right?" Then, of course, MS IE says, "Oh my goodness! I don't know how to handle a '.php' file! Woe is me!" and then pops up a Window telling the user it has encountered a file of type .php and doesn't know what to do with it. [I'll tell 'em what to do with it... :-)] Anyway, if you're going to do much with dynamic images, you might as well start getting them to have ".png" filenames now. There are lots of techniques for this, but the whole ignoring Content-type mess of MS IE, and because of their similar idiocy with GET parameters for .pdf and .swf files, I recommend this: Make your HTML and your URL indistinguishable from static HTML/URL, so that MS IE can't *possibly* [bleep] up. Put this in an .htaccess file next to the graphic.php script: <Files graphic.png> ForceType application/x-httpd-php </Files> Now, rename graphic.php to graphic.png Voila. MS IE "sees" graphic.png and "knows" it's a PNG. Apache was told that graphic.png is *really* a PHP script, so Apache fires up PHP and PHP/GD make the image and spit it out. Your HTML and PNG are indistinguishable by the browser from a static image, and they'd have to break every PNG out there to make yours not work. Which, knowing MS, is not *impossible* but it's a lot less likely than their various versions of IE that will break on http://example.com/graphic.php as a PNG image URL. -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php