me4ka86 Posted October 15, 2012 Share Posted October 15, 2012 (edited) Hello everyone, i need some help with a file of mine. Basically i want to get a file from another server and pass it to my visitors. The server i download from changes the download speed, in the beginning it is 300kb/s and then it falls gradually to 50kb/s. I want to provide the file as fast as possible to my visitors. Now the real problem is the CPU usage. If i use sleep it gets too slow and is not optimal for the visitors, without sleep the cpu runs very high. What would you suggest so that i download the file with exactly the speed i am provided and not to overload the cpu with unneeded processes? Thanks. Here is the code i use header("Content-type:...."); header('Content-Disposition: attachment; filename="....."'); header("Content-Length: ......."); $s = fopen($url,"rb"); while (!feof($s)) { echo fread($s, 32* 1024); flush(); } fclose($s); Edited October 15, 2012 by me4ka86 Quote Link to comment https://forums.phpfreaks.com/topic/269475-help-with-fopenfread-code-optimization-to-lower-cpu-usage/ Share on other sites More sharing options...
kicken Posted October 15, 2012 Share Posted October 15, 2012 If all you want to do is pass-through the file without modifying it, use the readfile function. header("Content-type:...."); header('Content-Disposition: attachment; filename="....."'); header("Content-Length: ......."); readfile($url); Quote Link to comment https://forums.phpfreaks.com/topic/269475-help-with-fopenfread-code-optimization-to-lower-cpu-usage/#findComment-1385257 Share on other sites More sharing options...
me4ka86 Posted October 15, 2012 Author Share Posted October 15, 2012 i think that solved the cpu issue! thanks Quote Link to comment https://forums.phpfreaks.com/topic/269475-help-with-fopenfread-code-optimization-to-lower-cpu-usage/#findComment-1385283 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.