最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • php ignore_user_abort()函数之计划任务实现方法

    php ignore_user_abort

    函数说明(PHP 4中,PHP 5中)

    ignore_user_abort  设置与客户机断开是否会终止脚本的执行.

    本函数返回 user-abort 设置的之前的值(一个布尔值).

    函数定义

    int ignore_user_abort ([ string $value ] )

    参数 描述 

    setting 可选.如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行.

    如果未设置该参数,会返回当前的设置.

    提示注释

    注释:PHP 不会检测到用户是否已断开连接,直到尝试向客户机发送信息为止.简单地使用 echo 语句无法确保信息发送,参阅 flush() 函数.

    实例说明

    例-1  一个的ignore_user_abort()的例子,配合set_time_limit()函数 和一个死循环就可以实现计划任务功能.

    <?php 
     
    // Ignore user aborts and allow the script 
     
    // to run forever 
     
    ignore_user_abort (true); 
     
    set_time_limit (0); 
     
    echo 'Testing connection handling in PHP' ; 
     
    // Run a pointless loop that sometime 
     
    // hopefully will make us click away from 
     
    // page or click the "Stop" button. 
     
    while(1) 
     
    { 
     
    // Did the connection fail? 
     
    if( connection_status () != CONNECTION_NORMAL ) 
     
    { 
     
    break; 
     
    } 
     
    // Sleep for 10 seconds 
     
    sleep (10); 
     
    } 
     
    // If this is reached, then the 'break' 
     
    // was triggered from inside the while loop 
     
    // So here we can log, or perform any other tasks 
     
    // we need without actually being dependent on the 
     
    // browser. 
     
    ?> 

    实例 1、

    关闭浏览器后,程序能继续在后台跑,这种情况下需要用到ignore_user_abort()函数;

       ignore_user_abort(true);       //设置客户端断开连接时是否中断脚本的执行 
        set_time_limit(0); 
             $file = '/tmp/ignore_user.txt'; 
             if(!file_exists($file)) { 
                     file_put_contents($file); 
             } 
             if(!$handle = fopen($file,'a+b')){ 
                     echo "not open file :".$file; 
                     exit; 
             } 
             $i=0; 
             while($i<100) { 
                     $time = date("Y-m-d H:i:s",time()); 
                     echo $time."n"; 
                     if(fwrite($handle,$time."n")===false) { 
                             echo "not write file:".$file; 
                             exit; 
                     } 
                     echo "write file time:".$time."n"; 
                     $i++; 
                     sleep(2); 
             } 
         fclose($handle); 
    加上这段代码,即使你把浏览器关闭后还是能还执行php计划任务哦.
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » php ignore_user_abort()函数之计划任务实现方法
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情