|  | Posted by J.O. Aho on 12/24/06 20:01 
kenoli wrote:> Actually, it did work.  I was trying to retrieve a record that was
 > empty for some reason.  When I treid a different record, I got the
 > image.
 
 Good to hear you got it working.
 
 
 > I am flying a bit here on blind faith, as I don't quite understand what
 > is happening with the header() function.  I surmise from what I've read
 > that the header function says something like "On this page we will be
 > outputting a png file."
 
 Yes, you could easilly say that if you use
 
 header("Content-type: image/png");
 
 You could insert other info too, like how big the image is, if the image
 should be cached (in this case it's the browser who decides, you give just a
 recommendation).
 
 
 > Then the browser (I presume it is the browser
 > as what we are working with here is an http header) interprets the data
 > sent via the echo statement as a png file.
 
 Yes, the browser will match the content-type to an mime list and see what
 action it should do, in most cases with images it's to display them inside the
 HTML coded pages.
 
 
 > Then, when we refer to the view.php script from the <img> tag, what is
 > returned is the output of the echo statement in the view.php script
 > interpreted as an image.
 
 Yes, again and by the browser it's interpreted as any other png image, as say
 mypicture.png had done in <img src="mypicture.png">.
 
 
 > It is interesting to me that if I run the view.php script in a browser
 > without including it in an <img> tag, nothing is sent to the browser.
 
 This is for you don't supply an person_id to the script, I guess, you could
 make the script a bit more advanced and if it detects that the person_id isn't
 connected to an image in the database, then you can supply a default image.
 
 Then if you try to access the view.php, you would see the default image.
 
 
 > I don't even see the header information in the source code for that
 > page.  I think I still don't fully understand what is going on with
 > these headers.  It may be something I don't understand about http.
 
 Header info are never displayed in a browser, it's just there to tell the
 browser what to do. And this is a bit outside the HTML-code that you usually
 write, this has to do with the http-protocol.
 
 
 I hope this helps you to move forward in your understanding, I wish I knew how
 to simply explain this, but it seems you have understood the basics.
 
 --
 
 //Aho
 [Back to original message] |