當我使用這個phpcode下載一個文件的300KB/s的downloadspeed我用這個:PHP-Downloadscript - 下載限制doesn't工作
function readfile_chunked($dl_link, $filesize_file) {
$chunksize = 300*1024; #Buffersize in Byte
$data = '';
$handle = fopen($dl_link, 'rb');
while (!feof($handle)) {
$data = fread($handle, $chunksize);
sleep(1);
print $data;
@ob_flush();
@flush();
}
fclose($handle);
}
但doesn't工作! :-(
當我開始下載,速度下一個KB/s和它打破,然後恢復,等等。
當我脫下這個「睡眠(1)」中的代碼上面,然後下載開始,一切都很好,但與全速運行 - >邏輯
這是爲什麼
'$ dl_link'是一個本地文件嗎?什麼是'$ filesize_file'?你發送正確的下載頭文件嗎?另外,你是從本地主機還是合適的服務器測試這個?嘗試刪除錯誤抑制運算符('@')以查看是否顯示任何錯誤。 –
如果你有Linux,可以嘗試'curl http:// whatever/script.php'。它會顯示是否刷新輸出緩衝區。 –
當我在'flush()'之後放入'sleep(1)'時,速度爲8,5kb/s。 '$ dl_link'是一個遠程文件,具有從另一個服務器直接http下載鏈接。 '$ filesize_file'僅在此函數中作爲信息使用,並且在此代碼中沒有任何函數。 –