可能重複:
Is there a function similar to setTimeout() (JavaScript) for PHP?如何在PHP中執行超時?
有沒有辦法做到在PHP超時?類似於Javascript中的setTimeout()。 我想在5分鐘後在數據庫中插入數據。
編輯:另外。 5分鐘後它會做另一件事。一個函數將被執行。然後,該方法不應該與數據庫。掛起是不可取的
可能重複:
Is there a function similar to setTimeout() (JavaScript) for PHP?如何在PHP中執行超時?
有沒有辦法做到在PHP超時?類似於Javascript中的setTimeout()。 我想在5分鐘後在數據庫中插入數據。
編輯:另外。 5分鐘後它會做另一件事。一個函數將被執行。然後,該方法不應該與數據庫。掛起是不可取的
php sleep()
函數是要走的路。更多詳情,請點擊this thread。在你的情況下代碼可能是:
<?
sleep(300); // Or 'sleep(5*60);' to make it more readable.
echo 'Do something!';
?>
你需要使用類似於cron作業或任務調度程序的東西,這取決於你所在的位置。 PHP不是事件驅動的。
林不知道爲什麼你需要這一點,但你可以使用
sleep(300);
更多http://php.net/manual/en/function.sleep.php
但我會用一個更優雅的解決方案,這同樣是依賴於你可以或不可以做什麼。
我會將數據存儲在一個臨時文件中。然後使用cron每五分鐘運行一次腳本以檢查天氣或不存在數據文件。如果有,請取出該文件並插入數據庫。
如果數據庫還沒有CURRENT_TIMESTAMP
字段,請添加一個。然後,立即插入該行,但將該字段設置爲DATE_ADD(NOW(),INTERVAL 5 MINUTE)
。
然後,在任何代碼你有SELECT
從這個表荷蘭國際集團,包括WHERE ts <= NOW()
(其中ts
是你CURRENT_TIMESTAMP
字段的名稱)
我在cron腳本的一個使用這種技術來模擬運行它非實際上它每15分鐘運行一次,使用0到15分鐘之間的隨機間隔停止,並且效果非常好。
http:// stackoverflow。com/questions/3435418/is-there-a-function-similar-to-settimeout-javascript-for -f –