【www.gdgbn.com--php函数】

php 定义php代码运行时间
定义和用法
time_sleep_until() 函数延迟代码执行直到指定的时间。

语法
time_sleep_until(timestamp)

参数 描述
timestamp 必需。脚本唤醒时的时间戳。

说明
使脚本暂停执行,直到指定的 timestamp。

返回值
如果成功则返回 TRUE,失败则返回 FALSE。

错误/异常
如果指定的时间戳位于过去,则该函数将生成一个 E_WARNING。

提示和注释
注释:所有信号都将在脚本唤醒后递送。

注释:本函数未在 Windows 平台下实现。

time_sleep_until
(PHP 5 >= 5.1.0)

time_sleep_until — Make the script sleep until the specified time
设置脚本延迟执行的时间

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;
    }
}
?>

//Implementation for < 5.1 or Windows users
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;
   }
}
?>

//returns false and generates a warning
var_dump(time_sleep_until(time()-1));
// may only work on faster computers, will sleep up to 0.2 seconds
var_dump(time_sleep_until(time()+0.2));
?>

// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2004 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 3.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/3_0.txt.                                  |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Arpad Ray                                    |
// +----------------------------------------------------------------------+
//
// $Id: time_sleep_until.php,v 1.2 2005/12/07 21:08:57 aidan Exp $

/**
* Replace time_sleep_until()
*
* @category    PHP
* @package     PHP_Compat
* @link        http://php.net/time_sleep_until
* @author      Arpad Ray
* @version     $Revision: 1.2 $
* @since       PHP 5.1.0
* @require     PHP 4.0.1 (trigger_error)
*/
if (!function_exists("time_sleep_until")) {
    function time_sleep_until($timestamp)
    {
            list($usec, $sec) = explode(" ", microtime());
        $now = $sec + $usec;
        if ($timestamp <= $now) {
            user_error("Specified timestamp is in the past", E_USER_WARNING);
            return false;
        }
        $diff = $timestamp - $now;
        usleep($diff * 1000000);
        return true;
    }
}
?>

本文来源:http://www.gdgbn.com/jiaocheng/22722/