# ZipArchive::registerProgressCallback

(PHP >= 8.0.0, PECL zip >= 1.17.0)

ZipArchive::registerProgressCallback — Register a callback to provide updates during archive close.

### Description

ZipArchive::registerProgressCallback ( float `$rate` , callable `$callback` ) : bool

Register a `callback` function to provide updates during archive close.

### Parameters

`rate`

  Change between each call of the callback (from 0.0 to 1.0).

`callback`

  This function will receive the current `state` as a float (from 0.0 to 1.0).

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Notes

> Note:

> This function is only available if built against libzip ≥ 1.3.0.

### Examples

This example creates a ZIP file archive php.zip and show progression.

Example #1 Archive a file

`$zip = new ZipArchive();
if ($zip->open('php.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE)) {
$zip->addFile(PHP_BINARY, 'php');
$zip->registerProgressCallback(0.05, function ($r) {
printf("%d%%\n", $r * 100);
});
$zip->close();
}`

### See Also

- ZipArchive::registerCancelCallback() - Register a callback to allow cancellation during archive close.