के साथ stream_notification_callback का उपयोग कैसे करें curl के साथ stream_notification_callback का उपयोग करना संभव है?
मैं उदाहरण # 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 उपयोग करने के लिए इस तरह "मामले STREAM_NOTIFY_PROGRESS" भाग को बदलने के लिए होगा ...
case STREAM_NOTIFY_PROGRESS:
file_put_contents('progress.txt', $bytes_transferred);
break;
... लेकिन मेरे सवाल का कैसे दोनों कोड अनुकूल करने के लिए है? अग्रिम धन्यवाद।
कर्ल के बजाय stream_context_create का उपयोग करने का प्रयास करने के बारे में क्या। आप संदर्भ के बिना stream_notification_callback का उपयोग नहीं कर सकते हैं। –