Обработка при процессе чтения данных с сайта на 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);
.
Прокомментировать/Отблагодарить