ここでの私の機能では、特定のマイルストーンを過ぎてファイルがダウンロードされたときに機能を実行しようとしています。したがって、この例では、10MB をダウンロードしてマイルストーンをエコーし、次の 10MB まで繰り返します。
ダウンロードしているファイルは約 300MB なので、関数は 30 回呼び出されると予想されます。
マイルストーンは何にする必要がありますか? バイト?キロバイト?それが何であれ、約 10000 を超えると、if 内で何も呼び出されなくなります。
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch, $chunk) {
$chunksize = strlen($chunk);
$downloaded .= $chunksize;
if($downloaded > $milestone){
echo "milestone";
$downloaded = 0;
}
return $chunksize;
});