
registerProgressCallback 메소드는 ZipArchive 클래스의 압축 진행 상황을 표시하기 위한 callback 함수를 등록하는 메소드입니다.
이 메소드의 파라미터는 Callback 함수가 전달되어야 합니다. Callback 함수의 파라미터는 다음 세 가지 인자를 받습니다.
- int $entryIndex : 현재 처리 중인 파일의 인덱스
- int $total : 전체 파일 수
- float $progress : 압축 진행률 (0.0 ~ 1.0)
Callback 함수의 반환 값은 void 타입이어야 합니다. 즉, Callback 함수는 반환 값을 반환하지 않습니다.
Callback 함수를 등록하고 나면, zip 파일을 압축하는 동안 진행 상황을 표시할 수 있습니다. 예를 들어, 압축 진행률을 표시하는 callback 함수를 등록할 수 있습니다.
#hostingforum.kr
php
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::CREATE) === TRUE) {
$callback = function($entryIndex, $total, $progress) {
echo "압축 진행률 : " . number_format($progress * 100, 2) . "%n";
};
$zip->registerProgressCallback($callback);
// 압축 코드
$zip->close();
} else {
echo "압축 실패n";
}
이 예제에서는 압축 진행률을 표시하는 callback 함수를 등록하고, 압축 코드를 실행합니다. 압축 진행률은 callback 함수를 통해 표시됩니다.
2025-07-08 15:30