PHP定时执行程序脚本的例子总结
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-10 14:59:16 浏览: 评论:0
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); //开源软件:phpfensi.com
- $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['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代码如下:
- <?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,如果文件存在一直执行,如果文件不存在则退出
- }
- ?>
补充这样也可以:
- <?php
- 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();
- ?>
Tags: PHP定时执行 PHP定时操作
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)