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: 230
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