라이브러리
[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 아카이브를 처리하는 동안 사용할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.