PHP: problem rendering large images (error 321)

Posted by JP19 on Stack Overflow See other posts from Stack Overflow or by JP19
Published on 2010-12-29T12:01:53Z Indexed on 2010/12/30 12:54 UTC
Read the original article Hit count: 203

Filed under:
|
|
|

Hi ... its me again with a php problem :)

Following is part of my PHP script which is rendering JPEG images.

...
$tf=$requested_file;
$image_type="jpeg";
header("Content-type: image/${image_type}");
$CMD="\$image=imagecreatefrom${image_type}('$tf'); image${image_type}(\$image);";
eval($CMD);
exit;
...

There is no syntactical error, because above code is working fine for small images, but for large images, it gives:

Error 321 (net::ERR_INVALID_CHUNKED_ENCODING): Unknown error. in the browser.

To be sure, I created two images using imagemagick from same source image - one resized to 10% of original and other 90%.

http://mostpopularsports.net/images/misc/ttt10.jpg works

http://mostpopularsports.net/images/misc/ttt90.jpg gives Error 301 in the browser.

There is a related question with solution posted by OP here Error writing content through Apache. but I cannot understand how to make the fix. Can someome help me with it?

I have looked at the headers in Chrome. For the first request, everything is fine. For the second request - the request headers are all garbled.


Both images are jpeg (as they are created from imagemagick. But still to be sure I checked):

misc/ttt10.jpg: JPEG image data, JFIF standard 1.01
misc/ttt90.jpg: JPEG image data, JFIF standard 1.01

Finally, the way I fixed is, remove the Transfer-Encoding: chunked header from the response. [This header was sent by apache only when the data was large enough]. (I had an internal proxy, so did it in the proxy script - otherwise one may need to do it in apache settings).

There were some good answers and I have selected the one that helped me solve the problem best.

thanks

JP

© Stack Overflow or respective owner

Related posts about php

Related posts about image