在我的網站上,用戶可以輸入文件鏈接,我可以通過我的服務器將下載過程流式傳輸給他們。我使用這樣的系統:PHP下載問題
header('Cache-control: private');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . $r[2]);
header('Content-Disposition: filename=' . $theName);
flush();
$file = fopen($fileName, "r");
while(!feof($file))
{
print fread($file, 10240);
flush();
sleep(1);
}
fclose($fileName);
想到的是,我的用戶下載速度很慢(600kb/s)。這個託管的服務器位於1Gbit端口上,因此他們應該將他們的互聯網連接擴大10倍。
我想知道是否有更好的方法來做這種事情,也許捲曲也許?我沒有很多CURL的經驗,但我會很感激任何反饋。
謝謝。
嘗試打印一些靜態字符串(在循環或其他)而不是從文件讀取。這將幫助您確定磁盤訪問是否是問題的原因。 – Aziz 2009-12-06 20:31:13
我認爲他是從用戶指定的遠程服務器獲取實時數據。 – 2009-12-06 20:36:14