(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.