콘텐츠로 건너뛰기

PHP 실행 지연시키기

  • by

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 타입의 값을 반환합니다.

답글 남기기