dodgerfan Posted January 19, 2011 Share Posted January 19, 2011 I wrote a short script that takes a list of keywords and does a Google search to find how often they are used in the title of a page. However, I cannot get it to echo the results in real time. On one server I use it works fine. On the other it runs the entire list and then outputs everything in the end. The problem is sometimes this takes several minutes and therefore it times out after not receiving a response. Any suggestions? Thanks in advance. <?php $file = file('words.txt'); $results = ''; foreach ($file as $line) { $data = file_get_contents("http://www.google.com/search?hl=en&q=allintitle%3A%22" . urlencode($line) . "%22&btnG=Google+Search"); preg_match('/of about <b>([0-9,]*)?<\/b>/si', $data, $number); $results .= $line . ";" . $number[1]; echo $results . "</br>"; $results = ""; sleep(2); } ?> Quote Link to comment https://forums.phpfreaks.com/topic/224962-cant-echo-in-real-time-under-a-foreach-loop/ Share on other sites More sharing options...
Muddy_Funster Posted January 19, 2011 Share Posted January 19, 2011 have you tried running it through a WHILE (!feof($file)) instead? Quote Link to comment https://forums.phpfreaks.com/topic/224962-cant-echo-in-real-time-under-a-foreach-loop/#findComment-1161914 Share on other sites More sharing options...
dodgerfan Posted January 19, 2011 Author Share Posted January 19, 2011 No I haven't. My PHP knowledge is extremely basic. Can you tell me what it should be and I'll give it a shot. Thanks. Quote Link to comment https://forums.phpfreaks.com/topic/224962-cant-echo-in-real-time-under-a-foreach-loop/#findComment-1161915 Share on other sites More sharing options...
dodgerfan Posted January 19, 2011 Author Share Posted January 19, 2011 Thanks for the suggestion. I read elsewhere to try using the flush() command after each echo to force the info to the browser. Seems to work. Quote Link to comment https://forums.phpfreaks.com/topic/224962-cant-echo-in-real-time-under-a-foreach-loop/#findComment-1161932 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.