(PHP >= 8.0.0, PECL zip >= 1.17.0)
ZipArchive::registerProgressCallback — Регистрирует callback-функцию для предоставления обновлений при закрытии архива
Регистрирует callback-функцию для предоставления обновлений при закрытии архива.
rateИзменение между каждым вызовом callback-функции (от 0,0 до 1,0).
callback
Функция будет получать текущее состояние (state) в виде числа с плавающей точкой (float) (от 0,0 до 1,0).
Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
В этом примере создаётся ZIP-архив php.zip и отображается прогрессия.
Пример #1 Архивация файла
$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();
}Замечание:
Функция доступна, если PHP скомпилирован с libzip ≥ 1.6.0.