首页 php教程 php手册 PHP定时执行程序脚本的例子总结

PHP定时执行程序脚本的例子总结

May 23, 2016 am 08:34 AM

PHP定时执行程序脚本我写过不少文章不过都被那些大站采集过去了,结果百度算法有问题大站有排名我的没有,下面我今天再来给各位整理一些不错的定时执行程序的php代码.

今天分享一个超简单直接的PHP定时执行的小代码,关掉浏览器,PHP脚本也能后继续执行,用web浏览器定时刷新今天想到用sleep函数来实现php 自动定时执行,只要php能运行即可.

由于代码少,这里给个例子直接解释,代码如下:

<?php 
    ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行 
    set_time_limit(20);//程序超时时间,单位秒;通过set_time_limit(0)可以让程序无限制的执行下去;当用了set_time_limit()函数设置运行时间,sleep()函数在执行程序时的持续时间将会被忽略掉 
    $interval=5;//每隔多少秒运行,单位:秒 
    do{ 
        //这里是你要执行的代码 
        $i = 1; 
        $num_file = "number.txt"; 
        $fp = fopen($num_file,"r"); 
        $buf = fread($fp,filesize($num_file)); 
        fclose($fp);  
        $number = file_get_contents($num_file); 
        $number = $number+$i; 
        $fp = fopen($num_file,"w"); 
        fwrite($fp,$number); 
        fclose($fp); 
        echo $number; 
        //等待执行的时间 
        sleep($interval); 
    } 
    while(true);
登录后复制

上面方法如果关了浏览器好像就不行了,我们可以尝试使用平台的计划任务来处理.

1、windows 的计划任务

2、linux的脚本程序

php代码如下:

<?php 
    if($_GET[&#39;ac&#39;]==&#39;stop&#39;) 
    exit(); 
    sleep(5); 
    $name=time(); 
    $fp=fopen("$name.txt",&#39;w&#39;); 
    fwrite($fp,time()); 
    fclose($fp); 
    $fp = fsockopen(&#39;localhost&#39;, 80, $errno, $errmsg); 
    fputs($fp, "GET /test/time.php\r\n\r\n");  
    fclose($fp);
登录后复制


在浏览器里执行一下http://localhost/test/time.php,则会在test 文件夹下每隔5秒自动创建一个以当前时间戳命名的txt文件,并写入当前时间戳.

可以发现即使关闭了浏览器,这个脚本还是会每5秒执行一次,这样就达到了定时执行的目的,如果是要按时间点执行,比如每天 1点钟的时候执行,那么也只需要小小修改一下也能够实现.

当然这只是一种解决思路,至于实际应用,还要再探索一番,还有一种实现方法:利用死循环,原理差不多PHP代码如下:

<?php 
    ignore_user_abort(true); 
    set_time_limit(0);while(1){ 
    $fp  = fopen(&#39;time_task.txt&#39;,"a+"); 
    $str = date("Y-m-d h:i:s")."n"; 
    fwrite($fp,$str); 
    fclose($fp); 
    sleep(1800);    //半小时执行一次 
    if(!file_exists(&#39;1.txt&#39;)) 
         exit();    //在目录下建立一个文件1.txt,如果文件存在一直执行,如果文件不存在则退出 
    }
登录后复制

补充这样也可以:

<?php 
    ignore_user_abort();//关闭浏览器后,继续执行php代码 
    set_time_limit(0);//程序执行时间无限制 
    $sleep_time = 5;//多长时间执行一次 
    $switch = include &#39;switch.php&#39;; 
    while($switch){ 
        $switch = include &#39;switch.php&#39;; 
        $fp = fopen(&#39;test.txt&#39;,&#39;a+&#39;); 
        fwrite($fp,"这是一个php博客:phpddt.com $switch \n"); 
        fclose($fp); 
        sleep($sleep_time); 
    } 
    exit();
登录后复制


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)