PHP 스크립트(script) 실행(execution)시 테스트 등의 목적으로 실행을 지연(delay)시켜야할 경우가 있습니다. 이때 사용할 수 있는 함수 입니다.
1. 초 단위로 지연
int sleep ( int $seconds )
$seconds로 주어진 초 만큼 실행을 지연합니다. 성공시 0을 반환, 실패시 FALSE를 반환합니다. 음수를 지정하면 오류입니다. Warning이 발생합니다.
<?php // ... // 2초간 지연합니다. sleep(2); //... ?>
2. 마이크로초 단위로 지연
void usleep ( int $micro_seconds )
$micro_seconds로 주어인 마이크로 초(백만분의 1초) 만큼 실행을 지연합니다. 값을 반환하지 않습니다. 음수를 지정하면 오류입니다. Warning이 발생합니다.
<?php // ... // 2초간 지연합니다. usleep(2000000); // ... ?>
3. 지정된 시간까지 지연
bool time_sleep_until ( float $timestamp )
$timestamp 로 주어진 시간까지 지연합니다. 성공시 TRUE, 실패시 FALSE를 반환합니다. 과거 시간을 지정하면 오류입니다. Warning이 발생합니다.
<?php // 2초 지연 time_sleep_until(time() + 2); // 0.2초 지연 time_sleep_until(microtime(true) + 0.2); ?>
※ 참고
– int time(void) : January 1 1970 00:00:00 GMT 부터 지금까지의 초를 반환합니다.
– mixed microtime ([ bool $get_as_float = false ] ) : 현재의 타임스탬프를 마이크로초로 반환합니다. 인자로 주어지는 $get_as_float가 TRUE이면 마이크로초에 가장 근접한 초값을 float 타입으로 반환하고, FALSE 이면 string 타입의 값을 반환합니다.