Reputation: 4457
I'm having a problem and i'd like some help please. I have made a script for creating an image with PHP using GD library, but the problem is when i preview it on the Firefox it shows me an error in Firebug: "Image corrupt or truncated:localhost/my_scripts/images.php". NOTE: this is not an error displayed from PHP, it seems more like an error comming from the browser.
I have checked my code for syntaxes many times, i have also tried out and other gd functions, like imagegif, imagettftext etc etc but didn't have any effect. Here's my code:
//$image = @imagecreate(200, 20)or die("Cannot Initialize new GD image stream");
$image = imagecreate(200, 20);
$background = imagecolorallocate($image,0,0,0);
$foreground = imagecolorallocate($image,255,255,255);
imagestring($image,5,5,1,"This is a Test",$foreground);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
GD library is enabled i've already checked that in phpinfo(), and I have also tried to preview it and on Chrome and looks the same. Any ideas what i might doing wrong or why happens this? and how can i fix this error??
Upvotes: 1
Views: 5362
Reputation: 31
I faced similar issue where I was getting similar error in the frontend console and in the back end log "Headers already sent in 'path to your file....'. This means either space is involved or echo before the header is used. In my case i debug it there wasn't any space but using the buffers i.e ob_start(); and end with ob_end_flush(); my issue fixed.
Upvotes: 0
Reputation: 3262
I changed my code to UTF-8 without BOM
and worked to me! Thanks Lykos.
Upvotes: 1
Reputation: 4457
I found something about this error and finally i figured out what was going on, so here is the solution to the problem:
Make sure that PHP code is the only thing on the page. No HTML, no spaces before or after the PHP code, etc, the only thing it should send to the browser should be the image data. If that still doesn't work then make sure that saving the PHP script in a format that does not include the UTF BOM and this should fix it.
Upvotes: 7