|
Posted by d on 11/18/19 11:43
"Ike" <rxv@hotmail.com> wrote in message
news:7h1Wf.245$i41.151@newsread1.news.atl.earthlink.net...
>I have a snippet of code I got from a fellow named Frank Reynold's site.
> I've amended it such that if I have a file, which I call getdata.txt,
> which
> is a text file which an application writes to a server sporadically and
> frequently, and I wish that text to be visible in a browser window, this
> accomplishes that. Anytime getdata.txt is changed on the site, it is
> reflected in the browser.
>
> HOWEVER, since a php script times out (typically in 30 seconds, the
> default), this wonderful little thing dies every 30 seconds. Can anyone
> tell
> me a way (other than changing the time out value in php.ini !) how to make
> this run indefinitely. Any kind of hack someone can point me in the
> direction of here? Thanks, Ike
>
> <?php
> $file = "./getdata.txt";
> $maxexectutiontime=10;//set in php.ini
> $sep = "ofaLlTherCrzyThInggsIhaveayeard";
> $a=0;
> $b=0;
> if (ereg(".*MSIE.*",$HTTP_SERVER_VARS["HTTP_USER_AGENT"]))
> {
> # If IE, spit out one time and exit
> header("Cache-Control: no-cache");
> header("Pragma: no-cache");
> header("Content-type: text/plain");
> header("Content-size: " . filesize($file));
> readfile($file);
> }
> else
> {
> # if not IE, give the browser a try
> header("Content-Type: multipart/x-mixed-replace; boundary=$sep");
> do {
> print "Content-Type: text/plain\n\n";
> readfile($file);
> print "\n--$sep\n";
> flush();
> $mt = filemtime($file);
> do {
> $a++;
> if($a>=$maxexectutiontime-1){
> $b=-1;
> }else{
> sleep (1);
> # we won't output the same data twice.
> clearstatcache();
> }
> } while ($mt == filemtime($file) && $b==0);
> } while ($b==0);
> }
> ?>
>
>
set_time_limit(0);
that'll disable the timeout of the script, so it'll keep running.
dave
Navigation:
[Reply to this message]
|