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

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

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

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

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

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)