better implementation
<?php
if (!function_exists('time_sleep_until')) {
function time_sleep_until($future) {
if ($future < time()) {
trigger_error("Time in past", E_USER_WARNING);
return false;
}
usleep(($future - microtime(1))*1000000);
return true;
}
}
?>
time_sleep_until
(PHP 5 >= 5.1.0)
time_sleep_until — 指定した時刻まで実行を遅延する
説明
bool time_sleep_until
( float $timestamp
)
指定した timestamp までスクリプトの実行を遅延させます。
パラメータ
- timestamp
-
スクリプトが再開する時刻。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
エラー / 例外
過去の timestamp を指定した場合、この関数は E_WARNING を発生させます。
例
例1 time_sleep_until() の例
<?php
// false を返し、警告を発生します
var_dump(time_sleep_until(time()-1));
// 高速なコンピュータ上でのみ動作します。実行を 0.2 秒遅延します。
var_dump(time_sleep_until(time()+0.2));
?>
注意
注意: すべてのシグナルは、スクリプトが再開した後で送信されます。
注意: この関数は Windows 環境にはまだ実装されていません。
time_sleep_until
roberto at spadim dot com dot br
17-Dec-2006 12:05
17-Dec-2006 12:05
ssnoyes at hotmail dot com
26-Nov-2005 04:58
26-Nov-2005 04:58
Implementation for < 5.1 or Windows users
<?php
if (!function_exists('time_sleep_until')) {
function time_sleep_until($future) {
if ($future < time()) {
trigger_error("Time in past", E_USER_WARNING);
return false;
}
sleep($future - time());
return true;
}
}
?>
