I’m new to php and have spent a good deal of time trying to figure out how to (correctly) display a SQL IMAGE field. I’ve finally gotten an image to render but it’s only partially displaying the image (the rest of the image is grey – like it ran out of ink). The images are either 4098 bytes or 8194 bytes (which seems to me to indicate that something is suppressing file size or it’s really coincidental).
I’m accessing a third party database and they’ve not included an image’s file size in the database. The images that’ve been stored are all different sizes ranging from about 250px to about 700 px.
The smaller images render correctly about halfway then turn to grey. The larger images are correct for only about 10 px/lines and then turn to grey.
Here’s what a larger/8194 bytes image looks like: [img]http://dl.getdropbox.com/u/17533/displayCAD7KQM8.jpg[/img]
The display line is as follows: <img src=’display.php?id=".$id."’>
Let me know if there’s any other information you need to consider this problem.
I will add this – I did post this on the Codewalkers forum and got some response. Also, the images are being accessed via an application and are rendered correctly in Word (which to my mind says the images aren’t corrupt?!). The oddly regular size of the image files would indicate to me that either a php.ini, SQL setting (or ?) is at work but because I’m rather inexperienced with both I’m really at a loss.
A blob can only contain a certain amount of bytes. Maybe they could set it to a longblob and see if the whole photo gets uploaded.
Or better yet, use the file system for storing photos and only put the link to the photo in the database.
Unfortunately it didn’t seem to make a difference.
I think this is the right track though – it’s some sort of restriction in php or SQL. I thought maybe it’s a timeout issue but the images load fairly quickly – faster than the timeout threshold. Seems like if it was due to SQL setting that there would also be problems with the application display – I think…