RE: pulling script in interval of second.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> your code did not make any sense, PHP code executing from top to bottom
> line by line. you can't expect it to enter the loop and do the
> unset($_SESSION) staff at the same time.
> let me tell you what your code do exactly:
> 
> 1. at first you set and unset a session key for 50 times, the $st 's value is the
> time() of the 50th loop plus 10 2. you enter a loop and check if time() > $st, as
> $st is time() + 10 , it is always larger than time(), so it enter the if statement
> and write the temp file , then the process exist

You sow my code and you got my point  can you help to fix it.
So if $st is large then time why it should enter if statement. It supposed to stop. Because I already mention if time>$st, so if time is greater than $st not time < $st 


> your code did not make any sense, PHP code executing from top to bottom
> line by line. you can't expect it to enter the loop and do the
> unset($_SESSION) staff at the same time.
> let me tell you what your code do exactly:
> 
> 1. at first you set and unset a session key for 50 times, the $st 's value is the
> time() of the 50th loop plus 10 2. you enter a loop and check if time() > $st, as
> $st is time() + 10 , it is always larger than time(), so it enter the if statement
> and write the temp file , then the process exist
> 
> 
> 
> 于 2014年07月01日 11:07, hadi 写道:
> >> As http server is stateless, php can not know if a client has stop
> requesting.
> >> you should do your trick on the client side.
> >>
> >> But if you insist doing this on the server, you may need to write a
> >> daemon process or crontab job , here's the step
> >>
> >> 1. Everytime the client make a request, your php code write a
> >> timestamp in a temp file.
> >> 2. Your daemon process should read this file and compare to the
> >> timestamp by NOW, if it is larger than you expect ,then do the if
> >> statement thing in the daemon process.
> > Look what I have accomplished in my script, the problem in my script when
> " session_destroy();" and " unset($_SESSION['timeout']);" happen it
> supposed to kill "timeout" then "while loop if(time() >  $st) " will stop. But
> theses not happing im wondering why. Can you look in my code and see?
> >
> > <?php
> > session_start();
> > ?>
> >
> >
> > <?php
> >
> > for( $x=0; $x< 50; $x++ )
> >
> > {
> >
> > $st = $_SESSION['timeout'] = time() + 10;
> >
> > session_destroy();
> >
> > unset($_SESSION['timeout']);
> > }
> >
> > $loop= true;
> >
> > while($loop)
> >
> > {
> >
> > if(time() >  $st)
> >
> > {
> >
> > file_put_contents('/tmp/phptest1234.txt', 'test'); $loop=false; } }
> >
> > ?>
> >
> >> Hi hadi:
> >>
> >> As http server is stateless, php can not know if a client has stop
> requesting.
> >> you should do your trick on the client side.
> >>
> >> But if you insist doing this on the server, you may need to write a
> >> daemon process or crontab job , here's the step
> >>
> >> 1. Everytime the client make a request, your php code write a
> >> timestamp in a temp file.
> >> 2. Your daemon process should read this file and compare to the
> >> timestamp by NOW, if it is larger than you expect ,then do the if
> >> statement thing in the daemon process.
> >>
> >> 于 2014年07月01日 08:21, hadi 写道:
> >>>> You will have to make the script 2 parts. One to reload and the
> >>>> other to execute the else (exiting). You need to use ajax to call
> >>>> the php script every second (for the first part) and use the page's
> >>>> onunload method to execute the second part (user exited):
> >>>>
> >>>>
> >>>> http://www.w3schools.com/jsref/event_onunload.asp
> >>> I already tried your method with onunload, the problem with onunload
> >>> when I change the page the script getting execute.
> >>>
> >>> I already have javascript to pull php script, just I need php script
> >>> doing the flowing; when javascript stop pulling php script. Block in
> >>> if  statement should run.
> >>>
> >>> Can you give me php script ? please.
> >>>
> >>>> On Mon, Jun 30, 2014 at 7:56 PM, hadi <almarzuki2011@xxxxxxxxxxx>
> >> wrote:
> >>>>> I have javascript to pull my php script every interval of second.
> >>>>>
> >>>>> When javascript stop pulling my php script, block in if statement
> >>>>> should execute.
> >>>>>
> >>>>> Can someone provide me with the php script please ?
> >>>>>
> >>>>> Thank you.
> >>>>>
> >>>>>
> >>>> You will have to make the script 2 parts. One to reload and the
> >>>> other to execute the else (exiting). You need to use ajax to call
> >>>> the php script every second (for the first part) and use the page's
> >>>> onunload method to execute the second part (user exited):
> >>>>
> >>>>
> >>>> http://www.w3schools.com/jsref/event_onunload.asp
> 
> 
> --
> PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
> http://www.php.net/unsub.php

<<attachment: smime.p7s>>


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux