phpユーザーがブラウザを閉じるかどうかを検出

4118 ワード

1、例1
 echo str_repeat(" ",3000);
 ignore_user_abort(true); 
 mylog('online');
 while (true) {
             /*
              * 1、           connection_status 0
              * 2、     “  ”       connection_status 1
              * 3、      connection_status 2
              */
          echo "test

"; // , ABORTED flush(); sleep(1); if (connection_status()!=0){ mylog('offline'); die('end the script'); } } function mylog($str) { $fp = fopen('e:/abort.txt', 'a'); $str = date('Y-m-d H:i:s').$str."\r
"; fwrite($fp, $str); fclose($fp); }

2.例2
function foo() {
  $s = 'connection_status '. connection_status();
  mylog($s);
} 
register_shutdown_function('foo');//script processing is complete or when exit() is called
set_time_limit(10);
for($i=0; $i<10000000; $i++)
  echo $i;


function mylog($str)
{
    $fp = fopen('e:/abort.txt', 'a');
    $str = date('Y-m-d H:i:s').$str."\r
"; fwrite($fp, $str); fclose($fp); }