PHP에서 카운트다운 타이머 만들기

Subodh Poudel 2023년1월30일
  1. PHP에서 정적 카운트다운 타이머 만들기
  2. TimeCircles.js를 사용하여 PHP에서 동적 카운트다운 타이머 생성
PHP에서 카운트다운 타이머 만들기

이 기사에서는 PHP에서 카운트다운 타이머를 만드는 몇 가지 방법을 소개합니다. PHP만 사용하여 정적 카운트다운 타이머를 만들 수 있습니다. 동적 카운트다운 타이머를 만들려면 JavaScript를 사용해야 합니다.

PHP에서 정적 카운트다운 타이머 만들기

PHP를 사용하여 정적 카운트다운 타이머를 만들 수 있습니다. 타이머는 페이지를 새로 고칠 때만 업데이트됩니다. 그렇지 않으면 타이머가 동일하게 유지됩니다. PHP는 서버에서 실행되며 서버에서 새로운 정보가 필요할 때 페이지를 새로 고쳐야 합니다. 카운트다운 타이머는 완벽하게 작동하지만 진행 상황을 볼 때마다 웹 페이지를 새로 고쳐야 합니다.

PHP 함수 time()을 사용하여 현재 시간을 가져옵니다. 목표 날짜와 현재 시간의 차이를 찾아 일, 시, 분, 초 형식으로 지정할 수 있습니다. 남은 시간을 다른 단위로 변환하면서 floor() 함수를 사용할 것입니다. 함수는 결과를 가장 가까운 정수로 내림합니다. 결과적으로 새로 계산된 시간 단위가 정확합니다. time() 함수는 1970년 1월 1일 00:00:00 GMT 이후의 현재 시간을 초 단위로 제공합니다. EpochConverter를 사용하여 현재 날짜와 시간을 타임스탬프로 또는 그 반대로 변환할 수 있습니다.

예를 들어 대상 날짜를 선택하고 EpochConverter를 사용하여 날짜를 Epoch 타임스탬프로 변환합니다. 그런 다음 $waiting_day 변수를 만들고 여기에 타임스탬프를 할당합니다. 그런 다음 $waiting_day와 현재 시간의 차이를 찾아 $time_left 변수에 결과를 저장합니다. 이제 $time_left를 하루의 총 시간인 60*60*60으로 나누어 총 일수를 계산합니다. 변환하는 동안 floor() 함수를 사용하십시오. $days 변수에 결과를 저장합니다. 다음으로 $time_left 변수를 업데이트하여 남은 시간을 초 단위로 찾습니다. 이를 위해 $time_left60*60*60으로 나누어 나머지를 구합니다. % 연산자를 사용하여 나머지를 찾습니다. 마찬가지로 나머지 시, 분, 초를 찾습니다. 시간을 찾으려면 $time_left60*60으로 나누고 분을 찾으려면 60으로 나누십시오. 나머지 타임스탬프는 초 단위입니다. 마지막으로 일, 시, 분, 초가 저장된 모든 변수를 출력합니다.

따라서 PHP를 사용하여 정적 카운트다운 타이머를 만들었습니다.

예제 코드:

<?php
    $waiting_day = 1637210196;
    $time_left = $waiting_day - time();

    $days = floor($time_left / (60*60*24));
    $time_left %= (60 * 60 * 24);

    $hours = floor($time_left / (60 * 60));
    $time_left %= (60 * 60);

    $min = floor($time_left / 60);
    $time_left %= 60;

    $sec = $time_left;

    echo "Remaing time: $days days and $hours hours and $min min and $sec sec left";
?>

출력:

Remaing time: 17 days and 23 hours and 51 min and 26 sec left 

TimeCircles.js를 사용하여 PHP에서 동적 카운트다운 타이머 생성

PHP의 TimeCircles.js 라이브러리를 사용하여 동적 카운트다운 타이머를 만들 수 있습니다. 카운트다운 타이머는 웹페이지를 새로 고치지 않고 자체적으로 업데이트됩니다. TimeCircles는 카운트다운 타이머를 쉽게 만드는 데 도움이 되는 jQuery 플러그인입니다. CDN을 사용하여 스크립트에 TimeCircles.js 및 jQuery를 포함할 수 있습니다. 스크립트 태그는 다음과 같습니다.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/timecircles/1.5.3/TimeCircles.min.js" integrity="sha512-FofOhk0jW4BYQ6CFM9iJutqL2qLk6hjZ9YrS2/OnkqkD5V4HFnhTNIFSAhzP3x//AD5OzVMO8dayImv06fq0jA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

예를 들어 data-date 속성으로 div를 생성합니다. 속성 값으로 PHP를 작성합니다. echo 기능을 사용하여 대상 날짜 2019-02-12 07:25:14를 표시합니다. 다음으로 dividcd_timer로 설정합니다. 다음으로 script 태그를 열고 jQuery를 작성합니다. 함수를 작성하고 id cd_timer를 선택하고 TimeCircles() 함수를 호출합니다.

localhost에서 웹 페이지를 실행하면 남은 일, 시간, 분, 초를 보여주는 카운트다운 타이머를 볼 수 있습니다. 이런 식으로 PHP에서 TimeCircle.js를 사용하여 동적 카운트다운 타이머를 만들 수 있습니다.

예제 코드:

<div data-date="<?php echo '2019-02-12 07:25:14' ; ?>" id="cd_timer"></div>
<script>
 $(function () {
 $("#cd_timer").TimeCircles();
 });
</script>
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

관련 문장 - PHP Timer