本文目录一览:
如何使用纯PHP实现定时器任务
我用PHP写了下面的延时代码,主要用来作为BAT文件调用进行倒计时:
?php
//批处理延时工具
if($argc==2){
set_time_limit(0);
$v=$argv[1]+0;
while($v0){
echo"\r请等待".sec2str($v)."秒。。。";
$n=$v600?600:($v60?60:($v10?10:1));
sleep($v$n?$n:$v);
$v-=$n;
}
$v=$argv[1]+0;
echo"\r".sec2str($v)."秒延时完毕。\n";
}
elseecho"使用方法:\nsleep.php演示秒数";
functionsec2str($v){
$s='';
if($v3600){$s.=floor($v/3600).':';$v%=3600;}
if($s''||$v60){$s.=floor($v/60).':';$v%=60;}
$s.=$v;
return$s;
}
?
用php怎么做定时器
你写好一个PHP脚本,就是用来检测工作计划并发送email的,用服务器的计划任务跑这个脚本,
或者用js的settimeout定时请求也行。
PHP实现定时任务的几种方式
一. 简单
?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
ini_set('memory_limit','512M'); // 设置内存限制
$interval=60*30;// 每隔半小时运行
do{
//ToDo
sleep($interval);// 等待5分钟
}
while(true);
二. 简单 可控型
config.php
?php
return 1;
?
cron.php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
$run = include 'config.php';
if(!$run) die('process abort');
//ToDo
sleep($interval);// 等待5分钟
}
while(true);
三. 简单 改进型
?php
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*
function
*/
sleep($time);
file_get_contents($url);
?
PHP怎么制作计时器
计时器的运用在网页制作中很普遍,其实计时器有很多做法,PHP加JS、JS加AJAX也可以控制实现。不是PHP可以单独实现的,因为PHP是实现服务端的语言,没有办法去控制。以下实例就是制作计时器的代码:
SCRIPTlanguage=JAVASCRIPT
vartimerID=null;
vartimerRunning=false;
functionstopclock()
{
if(timerRunning)
clearTimeout(timerID);
timerRunning=false;
}
functionstartclock()
{
stopclock();
showtime();
}
functionshowtime()
{
varnow=newDate();
varhours=now.getHours();
varminutes=now.getMinutes();
varseconds=now.getSeconds()
vartimeValue=""+hours;
//定时初始化数据库的代码:
timeValue+=((minutes10)?":0":":")+minutes
timeValue+=((seconds10)?":0":":")+seconds
document.Calc.time.value=timeValue;
//youcouldreplacetheabovewiththis
//andhaveaclockonthestatusbar:
//window.status=timeValue;
timerID=setTimeout("showtime()",1000);
timerRunning=true;
return'';
}/script
客服端PHP+HTML代码:
html
head
METAHTTP-EQUIV="Refresh"Content="1;URL=test.php"
/head
body
?
echodate("Y年m月d日H时i分s秒");
?
/body
/html
原创文章,作者:IKFL,如若转载,请注明出处:https://www.506064.com/n/142500.html