@Alex_BC

Почему иногда картинка которая приходит через curl не полная?

запрос
$file = new \CURLFile($dir, 'image/jpg', $name);
//        dd($file, $target_url);
        set_time_limit(0);
        $printname = 'print_'.$name;
        $handle = fopen($printname,'w+');

        $ch = curl_init($target_url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, [
            'file' => $file
        ]);
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);

//        curl_setopt($ch,CURLOPT_TIMEOUT, 600);
        curl_setopt($ch, CURLOPT_FILE, $handle);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_ENCODING, "");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        $raw=curl_exec($ch);
        $status = curl_getinfo($ch,  CURLINFO_RESPONSE_CODE);
        curl_close($ch);
        if($status === 200)
        {
            fwrite($handle, $raw);
            fclose($handle);
        }
        else
        {
            fclose($handle);
            dd('Err', $status);
        }


картинка что приходит имеет большой вес около 10mb и иногда такое впечатление что не может до конца сохранить
5fd67f8f6f8d6751324104.png

а так виглядит в html (как пол картинки) внизу оригинал
5fd67fab12c1b648249614.png

иногда картинка норм
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
таймаут побольше ставь, банально недокачивается
Ответ написан
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы