永发信息网

php如何制作类似setInterval函数

答案:2  悬赏:40  手机版
解决时间 2021-01-25 04:33
  • 提问者网友:愿为果
  • 2021-01-24 18:29
function suiji($a){ //根据输入的数字,来决定随机的位数,输出结果类型为字符串
$arr="qwertyuiopasdfghjklzxcvbnm1234567890";//定义随机字符区间
$string="";//随机后的字符串空间
for($i=0;$i<$a;$i++){
$n=mt_rand(0,strlen($arr)-1);//在字符区间选取随机的字符
$string.=$arr[$n];//追加字符
}
echo $string;//输出字符串
}
suiji(4);//调用函数
以上为需要调用的函数设置,问题就是怎么通过一段时间后自动执行函数
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-01-24 19:11
PHP定时执行的三种方式实现


1、windows 的计划任务
2、linux的脚本程序
3、让web浏览器定时刷新
具体实现
1、windows计划任务
PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。
2、linux 的脚本实现

这里主要使用到crontab这个命令,
使用方式 :
crontab   filecrontab [ -u user ] [ -u user ] { -l | -r | -e }说明 :
crontab是用来让使用者在固定时间或固定间隔执行程式之用
使用crontab写shell脚本,然后让PHP调用shell,这个是利用linux的特性,应该还不算PHP自身语言的特性
3、PHP实现定时执行计划任务

使用php让浏览器刷新需要解决几个问题
PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐)
如果客户端浏览器关闭,程序可能就被迫终止,解决办法:ignore_user_abort即使关闭页面依然正常执行
如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行
PHP定时执行的代码:

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
    //这里是你要执行的代码    
    sleep($interval);
}while(true);
全部回答
  • 1楼网友:想偏头吻你
  • 2021-01-24 20:42
因为我要使用n个setinterval3秒前 执行xx函数之后执行yy函数并且加速执行
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯