0

ハイ!

PHPでhttpsごとに画像を取得しようとしています。

私が見つけたのは、幅は正しいが高さが間違っている空白の画像を表示する次のコードのようなものです。

    function getSslPage($url) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_REFERER, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }

    echo getSslPage("https://www...");

どんな助けにも感謝します。:)

4

2 に答える 2

2

これはどのような状況でもそれを行う必要があります:

$ch = curl_init ($source_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,true);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$rawdata=curl_exec($ch);
curl_close ($ch);

$fp = fopen($local_file,'w');
fwrite($fp, $rawdata);
fclose($fp)
于 2016-08-24T14:57:56.693 に答える
0

それはうまくいくはずです、

このコードを実行してみてください。

function getSslPage($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
$ctype="image/png";
header('Content-type: ' . $ctype);
    curl_close($ch);
    return $result;
}

echo getSslPage("https://ssl.gstatic.com/accounts/services/mail/phone.png");
于 2013-09-02T14:17:43.200 に答える