[PHP-users 34496] Re: PNG画像の取得と保存

Michiyoshi Buniu buniu @ dream-link.jp
2009年 4月 9日 (木) 16:10:20 JST


豊丹生と申します。

HTTP1.0に変更すると、できそうですが、
チャンク形式にちょっと興味があったので、
最初に提示頂いたスクリプトのを
HTTP1.1用にちょっと改造してみました。

2回目の
$headers=fgets($fp, 4096);
をコメントアウト
※このコメントアウトは
HTTP1.0にした場合も必要だと思います。

後半部分を以下のように変更
    $pngs="";
    while (!feof($fp)) {
        $tmp = hexdec(fgets($fp));
        if (!$tmp) break;
        $pngs=fread($fp, $tmp);
        fgets($fp);
        fwrite($ofp,$pngs);
    }

私の環境ではこれでOKでした。

----- Original Message ----- 
From: "藤本悟司" <satoshi @ try-square.co.jp>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Thursday, April 09, 2009 3:41 PM
Subject: [PHP-users 34493] Re: PNG画像の取得と保存


> 藤本と申します。
>
>>     $out = "GET 
>> /ifs/ifs?cont=ym+m9&size=260x155&period=V&varminutes=5&bartype=CANDLE&bardensity=MEDIUM&?527 
>> HTTP/1.1\r\n";
>
> HTTP1.1を使っているようですね。
> レスポンスがチャンク形式で返っているのではないでしょうか?
> http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616#Sec3.6.1
>
> HTTP1.0ならば、受け取るエンティティはそのままバイナリイメージのはずです。
> 試しにHTTP1.0に変えてみてください。
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>
> 



PHP-users メーリングリストの案内