AR飞车工坊最后一格技巧要怎么下载,从哪里下载,需要花钱吗?

PHP间隔一段时间执行代码的方法
来源:易贤网&& 阅读:1195 次&&日期:
温馨提示:易贤网小编为您整理了“PHP间隔一段时间执行代码的方法”,方便广大网友查阅!
本文实例讲述了PHP间隔一段时间执行代码的方法。分享给大家供大家参考。具体分析如下:
PHP如何设置每隔一段时间自动执行某段代码?例如定时生成静态文件之类的,这就需要设置休眠时间,即每隔一段时间程序就会调用某段代码.
复制代码代码如下:ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
set_time_limit(0); // 执行时间为无限制,php默认执行时间是30秒,可以让程序无限制的执行下去
$interval=24*60*60; // 每隔一天运行一次
sleep($interval); // 按设置的时间等待一小时循环执行
$sql="update blog set time=now()";
...... //其他操作
}while(true);
希望本文所述对大家的PHP程序设计有所帮助。
更多信息请查看
更多信息请查看
【】&&&&&【点此处查询各地各类考试咨询QQ号码及交流群】
易贤网手机网站地址:
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
相关阅读 & & &
&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp会员注册
本站不参与评论!()
自觉遵守:爱国、守法、自律、真实、文明的原则
尊重网上道德,遵守中华人民共和国各项有关法律法规
严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的评论
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
您在本站发表的评论,本站有权保留、转载、引用或者删除
参与本评论即表明您已经阅读并接受上述条款网络进行时
笔记、原创、分享
& php 暂停执行多少毫秒
php 暂停执行多少毫秒
在php中暂停代码执行一定时间,有两个函数可以实现,一个是sleep,另一个是usleep,它们参数都是一个整数值。sleep是暂停多少秒,usleep是暂停多少微秒。注意:usleep单位是微秒,1秒 = 1000毫秒 ,1毫秒 = 1000微秒,即1微秒等于百万分之一秒。
如果程序中要使用要暂停多少毫秒,只能使用usleep,务必注意参数的单位,假设暂停 50毫秒,应该使用usleep(50000),而不是usleep(50)。
另外,我的理解,这个暂停的时候不可能是百分百的准确,跟系统的调度,cpu时钟周期等等有一定关系。
欢迎转载,转载请注明文章出处,谢谢!
(4 人打了份: 平均分:4.25)
Loading...
如有疑问,欢迎交流,QQ:9734278PHP 实现定时任务的几种方法 - jiageng - 博客园
随笔 - 74, 文章 - 0, 评论 - 2, 引用 - 0
ignore_user_abort();
缺点: 启动之后,便无法控制, 除非终止 PHP 宿主. 不要采用这样方法, 除非你是黑客.
config.php
ignore_user_abort();
通过 改变config.php 的 return 0 , 来实现停止程序. 一个可行的办法是config.php文件和某个特殊表单交互, 通过HTML页面设置一些变量来进行配置
缺点: 占系统资源, 长时间运行,会有一些意想不到的隐患。比如内存管理方面的问题 .
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
php脚本sleep 一段时间之后通过访问自身的方式继续执行. 就好像接力赛跑一样..这样就能保证每个PHP脚本执行时间不会太长. 也就不受time_out的限制了.
因为每一次一次循环php文件都是独立执行,所以这种方法,避免了time_out的限制. 但是最好和上边一样 加上控制代码. cofig.php , 以便能够终止进程.
如果您使用 Unix 系统,您需要在您的 PHP 脚本的最前面加上一行特殊的代码,使得它能够被执行,这样系统就能知道用什么样的程序要运行该脚本。为 Unix 系统增加的第一行代码不会影响该脚本在 Windows 下的运行,因此您也可以用该方法编写跨平台的脚本程序。
就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本,每一小时执行 myscript.php 如下:
/usr/local/bin/php为PHP程序的路径。
如果你的PHP脚本可以通过URL触发,你可以使用 lynx 或 curl 或 wget 来配置你的Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
00&* *&* *&lynx -dump http://www.sf.net/myscript.php
下面的例子是使用&CURL&访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用 "curl -o" 选项,你也可以把脚本的输出转储到临时文件temp.txt。
*/5 * * * * /usr/bin/curl&-o temp.txt&http://www.sf.net/myscript.php
下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q 选项表示安静模式。"-O temp.txt" 表示输出会发送到临时文件。
*/10 * * * * /usr/bin/wget&-q -O&temp.txt&http://www.sf.net/myscript.php
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。
函数格式:
string&ini_set(string&$varname,&string&$newvalue)
不是所有的参数都可以配置,可以查看手册中的列表。
常见的设置:
@&ini_set('memory_limit',&'64M');
menory_limit:设定一个脚本所能够申请到的最大内存字节数,这有利于写的不好的脚本消耗服务器上的可用内存。@符号代表不输出错误。
@ini_set('display_errors',&1);
display_errors:设置错误信息的类别。
@ini_set('session.auto_start',&0);
session.auto_start:是否自动开session处理,设置为1时,程序中不用session_start()来手动开启session也可使用session,
如果参数为0,又没手动开启session,则会报错。
@ini_set('session.cache_expire',&180);
session.cache_expire:指定会话页面在客户端cache中的有限期(分钟)缺省下为180分钟。如果设置了session.cache_limiter=nocache时,此处设置无 效。
@ini_set('session.use_cookies',&1);
session.use_cookies:是否使用cookie在客户端保存会话ID;
@ini_set('session.use_trans_sid',&0);
session.use_trans_sid:是否使用明码在URL中显示SID(会话ID),
默认是禁止的,因为它会给你用户带来安全危险:
用户可能将包含有效的sid的URL通过email/irc/QQ/MSN等途径告诉其他人。
包含有效sid的URL可能会保存在公用电脑上。
用户可能保存带有固定不变的SID的URL在他们的收藏夹或者浏览历史记录里。 基于URL的会话管理总是比基于Cookie的会话管理有更多的风险,所以应当禁用。php一种每天仅第一次启动时执行的方法的实现
不知道大家有没有遇到过这样的问题,就是想要写一个计划执行的程序,比如每天的几点定时的执行,php这种web程序,所谓的执行是必须通过访问的。有ignore_user_abort(true);函数可以让程序在关闭在后台继续执行,我之前写过一个类似的取巧的自动执行方法,也是可以实现定时执行,但是那种方法毕竟是有弊端的,所以我也再想,有的时候可能根据需求的不同可以退而求其次,让每次每天第一登陆的时候去执行。
至于这样的方式适不适合你的需求,我们应该好好的研究一下。如果你的这个功能是单纯的改变一些数据的属性,这些数据并不是必须每天都去改,而是当其进入系统显示成最新状态就可以的就适合这样做。不适合那种别人不能访问到执行计划程序的函数,仅能自己人可以的。无论如何先说一下这种实现方式是如何做的。
我们可以通过一个txt文件来存储最后操作这个函数的时间yyyy-mm-dd这样的形式,写一个函数,获取当前时间,也转化为yyyy-mm-dd这样的形式,对比,如果不同则执行你要的操作,如果相同就不执行,执行之后将当前时间再以yyyy-mm-dd这样的形式写入到txt文件中。这样让登陆系统的用户每次登陆都先执行这个方法。不过,这里考虑到这样的执行可能数据量很大,我们可以这样来做,将这个方法的最大执行时间设置为无限长,并设置为可以在后台执行。前台用户登陆的首页加载完自己的页面后通过ajax来访问这个页面,这样不就解决效率的问题了吗。
下面看一下我的这样一个代码,后台也可以写个配置文件,是否开启自动执行这个程序的功能。
//自动数据转移
function turnMessage(){
set_time_limit(0);
ignore_user_abort(true);
global $gzhuan,$guser,$hfdate1;
if('1'==$gzhuan){
$now = time();
$time = date('Y-m-d',$now);
$file = 'include/time.txt';
$f = fopen($file,'r+');
$t = fread($f,filesize($file));
fclose($f);
if($t!=$time){
$timeok = date('Y-m-d',$now-$hfdate1*86400);
$user = $this-&tmp_mod-&getOneUser($guser);
if($user){
$list = $this-&tmp_mod-&getGuoqi($timeok);
if($list[0]){
$ymd = date('Y-m-d H:i:s',$now);
$d['Adminid'] = $
$d['Admin'] = $user['adminRealName'];
$d['hfzt'] = 1;
$d['YyTime'] = $
$d['zhuanru'] = 1;
foreach($list as $key=&$val){
$data['pro_id'] = $val['ID'];
$data['admin_id'] = 0;
$data['adminname'] = '系统';
$data['content'] = '系统自动转入本数据,原预约时间为:'.$val['YyTime'];
$data['dates'] = $
$data['type'] = 0;
$rs = $this-&tmp_mod-&addProBz($data);
$rs2 = $this-&tmp_mod-&editProducts($val['ID'],$d);
if($rs&&$rs2){
parent::innerLog('自动转移数据','1');
$f = fopen($file,'w+');
fwrite($f,$time);
fclose($f);
parent::innerLog('自动转移数据','0');
unset($gzhuan,$guser,$hfdate1);
上面的$this-&tmp_mod-&等方法都是我用的框架中一下操作的方法,不用深究。我觉得这样写,再用ajax来调取,就会不影响用户的效率,又能达到我们的目的,也是很不错的选择。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'PHP计算当前程序执行时间
- 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 0时,
&无详细内容&
代码片段(1)
1.&[代码][PHP]代码&&&&
$pagestartime=microtime();
&!--网页内容 start--&
&!--网页内容 end--&
$pageendtime = microtime();
$starttime = explode(" ",$pagestartime);
$endtime = explode(" ",$pageendtime);
$totaltime = $endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
$timecost = sprintf("%s",$totaltime);
echo "页面运行时间: $timecost 秒";
来源:PHP站中文网
开源中国-程序员在线工具:
相关的代码(855)
为什么不用microtime(true);
2楼:newnoder 发表于
引用来自“nidongwo”的评论为什么不用microtime(true);赞
3楼:mmmw 发表于
4楼:0xAB 发表于
引用来自“nidongwo”的评论为什么不用microtime(true);true参数是PHP5加上去的,不适用于PHP4
5楼:学习才是未来 发表于
我也在想为什么不用microtime(true)
开源从代码分享开始
zhaoxue1688的其它代码

我要回帖

更多关于 飞车工坊最后一格技巧 的文章

 

随机推荐