ID:               50535
 User updated by:  bobkellock at gofast dot co dot uk
 Reported By:      bobkellock at gofast dot co dot uk
 Status:           Bogus
 Bug Type:         GD related
 Operating System: Win XP SP2
 PHP Version:      5.2.12
 New Comment:

> Try the same thing without the Content-type header and I bet you > >
will see an error instead of a broken image.

You lost your bet! There is no error message and it now works exactly
as I want i.e. as previously but without the spurious "Image" in a
rectangle.

The header line was a lefover fom when I was learning how to use the GD
calls and wanted to display the original jpeg; without it what was being
displayed was textural gobbledegook.

<?php
  header('Content-type: image/jpeg');
  $img = imagecreatefromjpeg('xxxx.jpg');
  imagejpeg($img);
?>

The above displays the image correctly in Opera 10.10, FF 3.5.6, Safari
for Windows 4.0.3, Chrome and IE8.

If I omit the imagejpeg($img) line:
Opera (my default browser) displays the rectangle as previously
described.
FF displays the URL of the page.
Chrome and Safari just generate a blank screen.
IE8 displays a red X in a box in the top left of the screen.

Seemingly there is no error but, despite that, it appears that
imagecreatefromjpeg is returning something to the browser which causes
some of them to generate a spurious display.


Previous Comments:
------------------------------------------------------------------------

[2009-12-20 21:08:31] scott...@php.net

Some browsers display the word Image when they can't correct display an
image, such as when there is an error :)

------------------------------------------------------------------------

[2009-12-20 13:14:41] ras...@php.net

Try the same thing without the Content-type header and I bet you will 
see an error instead of a broken image.  That error is why it isn't 
working.  There is no bug here.  Those GD functions have worked in PHP

for 10+ years assuming you have GD support available with JPEG support

compiled in.

------------------------------------------------------------------------

[2009-12-20 10:23:16] bobkellock at gofast dot co dot uk

I object strongly to your comment "This bug report makes no sense".

Just try:

<?php 
   header('Content-type: image/jpeg');
   $img = imagecreatefromjpeg('xxx.jpg');
?>
which generates the spurious display where xxx.jpg is known to be a
valid jpeg.

Please note that this is using v5.2.10. I had to give an incorrect
version number because the bug reporter would not allow me to submit the
report with that number in the Version box and I have no control over
the version available from my web host.

------------------------------------------------------------------------

[2009-12-20 07:03:10] ras...@php.net

Are you sure your image isn't actually broken?  Where would the string,

"Image" come from?

And why do you think you can emit a header after you have sent the 
image?  

This bug report makes no sense, sorry.

------------------------------------------------------------------------

[2009-12-20 01:03:11] bobkellock at gofast dot co dot uk

Description:
------------
PHP version is actually 5.2.10 which is what is run on the server at
One.com but is due to be upgraded to 5.3 on 2010-01-04.

imagecreatefromjpeg and other imagecreatefromxxx functions put up
"Image" in a small rectangle on the centre of the screen.

This is unsightly in my application which simply creates the image and
overlays it with some text using imagestring followed by writing the
overlaid image to a file. i.e. the original or overlaid image is never
written to the screen.

Bob Kellock

Reproduce code:
---------------
   header('Content-Type: image/jpg');
   $serial = "CL1949F";  // normally passed as a session variable
   $img = imagecreatefromjpeg('blankorder.jpg');
   $textcolour = imagecolorallocate($img, 0, 0, 0);
   $font = imageloadfont('Arial24.gdf');
   imagestring($img, $font, 535, 312, $serial, $textcolour);
   imagejpeg($img,'orderform.jpg');
   imagedestroy($img);
   header('refresh: 0; url=stamped.html');  // redirect to new page


Expected result:
----------------
Creation of overlaid file - which works OK.
Screen should be blank. 

Actual result:
--------------
"Image" in a small rectangle is displayed


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=50535&edit=1

Reply via email to