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

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

今天分享一个超简单直接的PHP定时执行的小代码,关掉浏览器,PHP脚本也能后继续执行!

用web浏览器定时刷新今天想到用sleep函数来实现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

 代码如下复制代码

if($_GET['ac']=='stop')

exit();

sleep(5);

$name=time();

$fp=fopen("$name.txt",'w');

fwrite($fp,time());

fclose($fp);

$fp = fsockopen('localhost', 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

 代码如下复制代码

ignore_user_abort(true);

set_time_limit(0);while(1){

$fp  = fopen('time_task.txt',"a ");

$str = date("Y-m-d h:i:s")."n";

fwrite($fp,$str);

fclose($fp);

sleep(1800);    //半小时执行一次

if(!file_exists('1.txt'))

exit();          //在目录下建立一个文件1.txt,如果文件存在一直执行,如果文件不存在则退出

}

?>

补充这样也可以

ignore_user_abort();//关闭浏览器后,继续执行php代码

set_time_limit(0);//程序执行时间无限制

$sleep_time = 5;//多长时间执行一次

$switch = include 'switch.php';

while($switch){

$switch = include 'switch.php';

$fp = fopen('test.txt','a ');

fwrite($fp,"这是一个php博客:phpddt.com $switch \n");

fclose($fp);

sleep($sleep_time);

}

exit();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
windows下使用PHP实现定时执行脚本 一直以来,使用PHP定时运行脚本都是让大家头痛的问题,但是我们确实可以利用windows的计划任务来定时调用PHP脚本,当然这还要感谢PHP.exe。下面,站长将向大家介绍,如何来实现。 目标:根据系统时间定时执行PHP脚本,不需要人工运行(这里以定时新建一个文本文件并写入内容为例) 解决步骤: 1、建立PHP脚本,如下: 大家,可以看见,我们在这里对将要创建的文件路径使用了绝对路径,这是因为我们将要通过windows命令行来调用此脚本,由于cmd.exe与我们的web根目录是不一样的,而php的文件目录函数只能在web根目录范围内进行操作,所以我们需要使用绝对路径,否则代码将正确执行但是文件将不会被创建。 2、新建.bat文件,代码如下: "D:\Program Files (x86)\Web\PHP\php.exe" -f "D:\Program Files (x86)\Web\www\root\go.php" 保存,并命名为run.bat。 注意,如果你的PHP目录或web根目录中含有空格,你需要使用引号将整个路径引用起来,否则将运行错误。站长的目录中含有空格,因此使用了引号。创建属于你自己的bat文件时,请根据自身情况决定是否要使用引号和文件的目录。 3、添加windows计划任务 从控制面板中打开计划任务(这里主要针对win7用户进行说明),点击“创建基本任务”,填写名称和描述,然后点击“下一步”,选择任务执行的频率,很好理解,然后点击“下一步”,设置任务的执行时间,然后点击“下一步”,选择“启动程序”,点击“下一步”,点击浏览按钮选择我们建立的“run.bat”文件,点击”下一步“,点击”完成“。 4、运行 根据你设置的时间,系统会定时自动运行,如果你等不及也可以手动执行。在”计划任务“中间栏下方的任务名中查找你刚才新建的任务,鼠标双击该任务,单击右边的运行按钮,系统会弹出一个cmd对话框然后关闭,这说明你的脚本已经正确执行了,到创建文件的目录去检查文件是否创建。 好了,在windows下使用PHP实现计划任务就介绍到这里了,希望对大家有帮助。 (责任编辑:麦田守望者)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值