Можно ли использовать stream_notification_callback с cURL?
Я хотел бы адаптировать пример # 1, который я нашел здесь http://www.php.net/manual/en/function.stream-notification-callback.php,, к моей функции cURL ниже, чтобы создать / обновить текстовый файл, содержащий загруженные байты.
Я знаю, что CURLOPT_PROGRESSFUNCTION
реализован в php 5.3, но я использую php 5.2 и не могу обновить.
private function Save($url) {
$this->SetTempFileName(time());
$file = fopen($this->GetTempVidFileName(), 'w');
$ckfile = tempnam("/tmp_cookie", "CURLCOOKIE");
$ch = curl_init();
curl_setopt($ch, CURLOPT_FILE, $file);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_exec($ch);
curl_close($ch);
fclose($file);
return is_file($this->GetTempFileName());
}
Я знаю, что мне придется использовать file_put_contents для замены части "case STREAM_NOTIFY_PROGRESS", подобной этой ...
case STREAM_NOTIFY_PROGRESS:
file_put_contents('progress.txt', $bytes_transferred);
break;
... но мой вопрос, как адаптировать два кода?
Заранее спасибо.