FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Headers in fpassthru() output
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Headers in fpassthru() output [message #176934] Tue, 07 February 2012 02:40 Go to previous message
DAVISM is currently offline  DAVISM
Messages: 3
Registered: February 2012
Karma:
Junior Member
So far, I've tested a call to fopen followed by a call to fpassthru
on a remote (http://...) JPEG file with PHP v4.4.7 in the "OSU Web Server"
running under OpenVMS V8.3 on an Alpha, and with PHP v5.3.4 in Apache v2.2.17
running under Mac OS X v10.6.8. The JPEG file is served by a Webcam. The
documentation (on php.net) for "http://" says the stream opened by fopen only
provides access to the body of the response. Why is it, then, that when I
call on fpassthru for the (JPEG URL) stream, I see the headers included in the
data returned?

The code looks basically like this:

$image = fopen ( "http://...jpg", "r" );
foreach ( $http_response_header as $header )
{
echo "{$header}\r\n";
}
echo "\r\n";
fpassthru ( $image );
fclose ( $image );

With the above, the headers are clearly visible at the beginning of the data,
rendering a lot of meaningless code in the browser window, rather than an
actual image. One work-around I've developed is...

$image = fopen ( "http://...jpg", "r" );
$inHeaders = 1;
while ( $inHeaders && ! feof ( $image ) )
{
$line = fgets ( $image );
echo $line;
$inHeaders = ( $line != "\r\n" );
}
if ( ! feof ( $image ) )
fpassthru ( $image );
fclose ( $image );

Can anyone explain why I'm seeing behavior counter to the documentation with
"fopen ( 'http://...' )" and "fpassthru (...)"? (FWIW, the purpose of the
code is to "proxy" a Webcam image that isn't directly available, so that as
far as the browser is concerned, the image is served by the web server
hosting this PHP code.)

Thanks,
Mike
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Tips to find Technical Co-founder / Tech lead
Next Topic: 6 line php 2 asp
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sun Nov 24 23:09:32 GMT 2024

Total time taken to generate the page: 0.04864 seconds