1

PHP curl を使用して画像をダウンロードできるクラスがあります。私のクラスは次のようになります。

function getImage($img, $path) {
    $fullpath = basename($img);

    $ch = curl_init($img);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
    $rawData = curl_exec($ch);
    curl_close($ch);

    if(file_exists($fullpath)) {
        unlink($fullpath);
    }

    $fp = fopen($path.$fullpath, "w+");
    fwrite($fp, $rawData);
    fclose($fp);
}

これはほとんどの画像で問題なく機能しますが、代わりに壊れた画像が表示される場合もあります。ウェブサイトから画像のパスを確認してみましたが、正しいです。私の質問は、なぜこれが起こっているのか、どうすれば画像が壊れてダウンロードされるのを防ぐことができるのでしょうか?

4

0 に答える 0