On Thu, Oct 16, 2008 at 1:58 PM, Jay Moore <[EMAIL PROTECTED]> wrote:
> Greetings list!
>
> Say I want to copy a jpg from a remote server onto mine, using PHP. Right
> now, my script opens a socket to the remote server, and opens the image
> file.  It copies its contents into a dummy variable, opens a new file on my
> server, and dumps the contents of the dummy variable into the new file.
>
> For reasons I cannot figure out, it is not working the way I want. Rather
> than display the image, I get an nothing when opening it in an image viewer.
>
> Code follows:
> ------
> <?php
>
> $ip = '10.10.10.3';
> $port = '80';
>
> $h = @fsockopen($ip, $port, $err, $str, 5);
>
>
> if ($h)
> {
>
>        // Get current image
>        $h = @fsockopen($ip, $port, $err, $str, 5);
>        $out = "GET /record/current.jpg HTTP/1.1\r\n";
>        $out .= "Host: $ip\r\n";
>        $out .= "Connection: Close\r\n\r\n";
>
>        fputs($h, $out, strlen($out));
>
>        $data = '';
>
>        while (!feof($h))
>        {
>                $data .= fgets($h, 128);
>        }
>
>
>        fclose($h);
>
>        // Store to file
>        $f = fopen('/path/test.jpg', "wb");
>
>        if ($f)
>        {
>                fwrite($f, $data, strlen($data));
>                fclose($f);
>
>        }
>        else
>        {
>                die('cannot open file for writing');
>        }
> }
> else
> {
>        die('cannot contact server');
> }
> ?>
>
> ---------
>
> I have trimmed the code some, and omitted the part where I remove the HTTP
> headers and other information I do not need.
>
> Why isn't this working for me?
>
> Thanks in advance,
> Jay

You'll have to strip off the HTTP response headers. Have you tried
file_get_contents()? It might work and be a whole lot simpler.

Andrew

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to