2011-03-28 57 views
0

我想每5分钟执行一次PHP函数。一个基本的计时器应该做的伎俩。但是如何?使用PHP的计时器

示例:我想在屏幕(网页)中每5分钟显示一次使用PHP和ajax或者仅使用PHP。

+1

您需要使用JS。只有PHP才能实现,除非是cron作业。 – Starx 2011-03-28 11:02:38

回答

2

在你的情况下使用JavaScript或元计时器 - 它会做的伎俩

的Javascript

 
    setTimeout('yourAjaxFunction()', 3000); 
+1

OP希望“每5分钟执行一次PHP函数”。你打算如何使用JavaScript函数运行php代码? – Starx 2011-03-28 11:01:58

+0

使用另一个PHP代码,这将调用PHP函数,我需要 – SergeS 2011-03-29 07:03:02

0

使用一个javascript定时器,每5分钟刷新一次(或者发送ajax请求)。 你不能在客户端使用PHP,使用JavaScript。

0

您可以用jQuery做到这一点,我做了一个简单的函数来做到这一点:

function Timer() 
{ 
    var timeout = 30000; 
    setTimeout(function() { 
     $.ajax({ 
      url: "urltofile", 
      type: "POST", 
      success: function(response) 
      { 
       [....] // do stuff with the response 
       Timer(); // set new instance for timer after the response 
      } 
     }); 
    }, timeout); 
} 
// 
Timer(); 

而在一个PHP文件中,你可以加载你想要显示的stuf

+0

只是为了澄清你,'6000 * 5'是5×1分钟,而不是'一分钟5次,这表明在一分钟内5次。 – Dunhamzzz 2011-03-28 11:07:10

+0

够公平的..我也一样 – 2011-03-28 11:09:01

1

你需要使用server-sid e Crontab实用程序,如果您不想自己一直从浏览器执行它。因此,您必须在共享主机面板设置中的某个位置找到此选项,或者如果您拥有它,请在服务器上手动进行设置。您可以通过PHP的命令行模式调用它,也可以使用wget上的curl通过http获取。你也可以设置多久你可以打电话给它。

例如命令可以像

* * * * */5的/ usr/local/bin目录/ wget的-q -O的/ dev/null的http://example.com/auto.php