2011-03-28 50 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