Thanks. I went for the version where I use the path to the file instead :) /Peter -----Original Message----- From: Stut [mailto:stuttle@xxxxxxxxx] Sent: Wednesday, August 30, 2006 5:02 PM To: Peter Lauri Cc: php-general@xxxxxxxxxxxxx Subject: Re: Not using cached version Peter Lauri wrote: > I have some images stored in a database (only file name and other relevant > information, rest stored in file system). > > I use the following html to access them: > > <img src='image.php?imageid=123' /> > > At some pages I have the same image, so that tag will be seen on multiple > places on the same page. So what I am curious is why all of the different > images are loaded separately, instead of just recognizing that they are the > same and use a cache version? > > This is the code that do all the work: > > Header ("Content-type: $image_type"); > readfile("files/$image"); > > I am a little bit lost here; kick me in the right direction if you can :) > Probably because the browser sees the ? in the URL, thinks dynamic and doesn't cache the result. You can set caching headers to get around this (Google for it), or if you want *all* browsers to do it right, even the poorly implemented ones, you could modify the URL so it doesn't have the ?. I do this using the Apache MultiViews option and a URL similar to /image/123.gif. That actually runs /image.php which pulls the REQUEST_URI server variable apart to get the required image. Do both and you should be good for all browsers. -Stut -- 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