Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

Обработка при процессе чтения данных с сайта на PHP Curl

Данный пример показывает, как назначить свой обработчик длительного чтения данных из интернета и обрабатывать их по мере поступленния. Это часть класса, используемого для работы с сетью.

// устанавливаем свой обработчик чтения
curl_setopt($this->curl_handle, CURLOPT_WRITEFUNCTION, array($this, "receiveResponse"));

// обработчик приема данных в процессе чтения
private function receiveResponse($curlHandle,$xmldata)
    {
        $this->responseString = $xmldata;
        $this->responseXML .=  $this->responseString;
        $this->length = strlen($xmldata);
        $this->size += $this->length;
        return $this->length;
    }

Данный пример показывает, как назначить свой обработчик длительного чтения данных из интернета и обрабатывать их по мере поступленния. Это часть класса, используемого для работы с сетью.

function callback($download_size, $downloaded, $upload_size, $uploaded)
{
// Здесь мы может показывать процесс работы или выполнять другую полезную работу
}

$ch = curl_init('http://example.com');

curl_setopt($ch, CURLOPT_NOPROGRESS, false);

// Установка обработчика
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'callback');

// Размер буфера определяет, как часто будет вызываться обработчик
curl_setopt($ch, CURLOPT_BUFFERSIZE, 128);

$data = curl_exec($ch);

.