On Tue, 2009-08-11 at 13:29 -0500, Adam Shannon wrote:
> On Tue, Aug 11, 2009 at 1:08 PM, Ashley Sheridan
> > On Tue, 2009-08-11 at 19:02 +0100, Ashley Sheridan wrote:
> > > I've got a bit of a weird one here. I'm using PHP to output an image.
> > > This works fine when I output as a file, but when I try to feed it
> > > directly to the browser it fills the screen with random characters.
> > >
> > > I know I've got the headers right, as it works some of the time. The
> > > only thing I can spot when it does fail is that some of the image
> > > drawing commands are essentially drawing off the edge of the image area.
> > > I've checked the error logs, and the only errors/notices I can find
> > > today are a bug in phpMyAdmin and a missing favicon file, nothing to do
> > > with this script.
> > >
> > > Has anybody ever noticed a similar problem?
> > >
> > > Thanks,
> > > Ash
> > > http://www.ashleysheridan.co.uk
> > >
> > >
> > Oh. I should note that there has been no headers sent already, as I put
> > the image output part inside of a if(!headers_sent()) block. The headers
> > I'm using for the PNG image are:
> > header("Content-Type: image/png");
> > header("Pragma: no-cache");
> > header("Expires: 0");
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> Take the if (!headers_sent()) out and always send the headers.
The headers_sent() wasa test to ensure that no other data was creeping
into the headers before I wanted it to. Keeping it in does no harm, as
it is basically saying, if there are no headers that have been sent,
send the correct ones for the image.
The image is being produced by PHP. The command I'm using to output the
image is image_png(), and my OS is correctly reporting a PNG image
(Linux will use the extension as a hint, but gets the filetype from the
contents). Also, for further clarification, the junk output I'm getting
has the letters PNG in the first few characters, so I'm pretty sure this
is a PNG image yes!
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php