라이브러리

[PHP] ZipArchive::registerProgressCallback - 보관소를 닫는 동안 업데이트를 제공하기 위한 콜백을 등록합니다.




ZipArchive::registerProgressCallback


PHP의 ZipArchive 클래스는 ZIP 아카이브를 생성, 수정, 삭제할 수 있는 클래스입니다. 이 클래스는 ZIP 아카이브를 처리하는 동안 진행 상황을 추적할 수 있도록 `registerProgressCallback` 메서드를 제공합니다.

`registerProgressCallback` 메서드는 ZIP 아카이브를 처리하는 동안 호출되는 콜백 함수를 등록하는 메서드입니다. 이 콜백 함수는 ZIP 아카이브의 진행 상황을 추적할 수 있도록 `progressUpdate` 메서드를 호출하여 진행 상황을 업데이트할 수 있습니다.

사용법


`registerProgressCallback` 메서드는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

$zip = new ZipArchive;

$zip->open('example.zip', ZipArchive::CREATE);

$zip->registerProgressCallback(function($status) {

    echo "진행 상황: $status%
";

});



예제


다음 예제는 ZIP 아카이브를 생성하는 동안 진행 상황을 추적하는 예제입니다.

#hostingforum.kr
php

$zip = new ZipArchive;

$zip->open('example.zip', ZipArchive::CREATE);



// 콜백 함수 등록

$zip->registerProgressCallback(function($status) {

    echo "진행 상황: $status%
";

});



// ZIP 아카이브에 파일 추가

$files = array('file1.txt', 'file2.txt', 'file3.txt');

foreach ($files as $file) {

    $zip->addFile($file);

}



// ZIP 아카이브 닫기

$zip->close();



echo "ZIP 아카이브 생성 완료!
";



콜백 함수


콜백 함수는 `progressUpdate` 메서드를 호출하여 진행 상황을 업데이트할 수 있습니다. `progressUpdate` 메서드는 다음 인수를 받습니다.

* `$status`: 진행 상황 (0-100%)
* `$total`: 총 파일 수
* `$num`: 현재 파일 번호

콜백 함수는 다음 예제와 같이 `progressUpdate` 메서드를 호출하여 진행 상황을 업데이트할 수 있습니다.

#hostingforum.kr
php

$zip->registerProgressCallback(function($status, $total, $num) {

    echo "진행 상황: $status% ($num/$total)
";

});



참고


* `ZipArchive::CREATE`: ZIP 아카이브를 생성하는 모드
* `ZipArchive::UPDATE`: ZIP 아카이브를 업데이트하는 모드
* `ZipArchive::DELETE`: ZIP 아카이브를 삭제하는 모드
* `ZipArchive::CREATE`: ZIP 아카이브를 생성하는 모드
* `ZipArchive::OVERWRITE`: ZIP 아카이브를 덮어쓰는 모드

이러한 모드는 ZIP 아카이브를 처리하는 동안 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색