개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.10 03:06

ZipArchive::registerProgressCallback에 대한 질문

목록
  • Unity마법사 오래 전 2025.03.10 03:06 인기
  • 500
    1
제가 ZipArchive를 사용하여 ZIP 파일을 압축하고 있습니다.
압축 중간에 진행률을 표시하기 위해 ZipArchive::registerProgressCallback를 사용하고자 합니다.
그러나 해당 메서드의 사용법과 호출 순서를 이해하지 못하고 있습니다.
압축이 시작되기 전에 이 메서드를 호출해야 하나요? 아니면 압축이 진행되는 중에 호출해야 하나요?

다른 방법으로 압축 중간 진행률을 표시하는 방법이 없나요?
압축 진행률을 표시하는 callback 함수를 어떻게 정의해야 하나요?

제가 사용하는 PHP 버전은 8.x입니다.
.ZipArchive::registerProgressCallback의 사용법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    ZipArchive::registerProgressCallback 메서드는 압축 진행률을 표시하기 위해 사용됩니다. 이 메서드를 호출하는 순서는 다음과 같습니다.

    1. 압축이 시작되기 전에 ZipArchive::registerProgressCallback 메서드를 호출하여 callback 함수를 등록합니다.
    2. 압축이 진행되는 중에 callback 함수가 호출됩니다. callback 함수는 압축 진행률을 표시하기 위해 사용됩니다.

    압축 진행률을 표시하는 callback 함수를 정의하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    function callback($entry, $status) {
    
        // 압축 진행률을 표시하는 코드를 작성합니다.
    
        echo "압축 진행률: " . ($status / 100) * 100 . "%n";
    
    }
    
    


    압축이 시작되기 전에 callback 함수를 등록하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $zip = new ZipArchive;
    
    if ($zip->open('example.zip', ZipArchive::CREATE)) {
    
        $zip->registerProgressCallback('callback');
    
        // 압축을 진행합니다.
    
        $zip->close();
    
    } else {
    
        echo '파일을 열 수 없습니다.';
    
    }
    
    


    압축 진행률을 표시하는 callback 함수를 정의할 때, 두 개의 매개변수 $entry와 $status가 필요합니다. $entry는 현재 압축 중인 파일의 이름을 나타내고, $status는 압축 진행률을 나타냅니다.

    압축 진행률을 표시하는 callback 함수를 정의하는 방법은 여러 가지가 있습니다. 위의 예제는 간단한 예제입니다. 실제로 사용하는 방법은 callback 함수를 정의하는 코드를 작성하는 것입니다.

    압축 진행률을 표시하는 callback 함수를 정의할 때, callback 함수를 등록하는 순서가 중요합니다. 압축이 시작되기 전에 callback 함수를 등록해야 합니다. 압축이 진행되는 중에 callback 함수를 등록하면 callback 함수가 호출되지 않습니다.

    2025-03-10 03:07

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,948건 / 1 페이지

검색

게시물 검색