W3docs

zip_entry_compressedsize()

The zip_entry_compressedsize() function is a built-in function in PHP that is used to get the compressed size of a file in a zip archive. The compressed size is

Функция zip_entry_compressedsize() является устаревшей функцией из расширения zip для PHP. Она была помечена как устаревшая в PHP 7.4 и удалена в PHP 8.0. Сжатый размер — это размер файла после его сжатия с использованием алгоритма сжатия zip.

Синтаксис

Синтаксис функции zip_entry_compressedsize() выглядит следующим образом:

Синтаксис функции zip_entry_compressedsize() в PHP

int zip_entry_compressedsize(resource $zip_entry)

Где $zip_entry — это дескриптор записи zip-архива для файла в архиве. Обратите внимание, что эта функция относится к устаревшему расширению zip и больше не доступна в PHP 8.0+.

Примеры использования

Рассмотрим практический пример использования zip_entry_compressedsize() в PHP.

Пример: Получение сжатого размера файла в ZIP-архиве

Предположим, вы открыли ZIP-архив с помощью устаревших функций PHP для работы с zip и хотите получить сжатый размер файла в архиве. Для этого вы можете использовать функцию zip_entry_compressedsize(), как показано ниже:

Получение сжатого размера файла в ZIP-архиве в PHP

$zip = zip_open("example.zip");
if ($zip === false) {
    die("Failed to open zip archive.");
}

$zip_entry = zip_read($zip);
if ($zip_entry === false) {
    die("Failed to read zip entry.");
}

// get the compressed size of the file
$compressed_size = zip_entry_compressedsize($zip_entry);

echo "The compressed size of the file is: " . $compressed_size . " bytes.";

Этот код открывает файл ZIP-архива example.zip с помощью zip_open(). Затем мы читаем файл в архиве с помощью zip_read() и получаем его сжатый размер с помощью zip_entry_compressedsize(). В конце сжатый размер выводится пользователю.

Современная альтернатива: Использование ZipArchive

Поскольку устаревшие функции zip_* были удалены в PHP 8.0, рекомендуется использовать встроенный класс ZipArchive. Вот как можно получить сжатый размер файла с помощью ZipArchive:

$zip = new ZipArchive;
if ($zip->open('example.zip') === true) {
    $index = $zip->locateName('example.txt');
    if ($index !== false) {
        $stat = $zip->statIndex($index);
        $compressed_size = $stat['comp_size'];
        echo "The compressed size of the file is: " . $compressed_size . " bytes.";
    }
    $zip->close();
}

Заключение

В этой статье мы обсудили устаревшую функцию zip_entry_compressedsize() и то, как она использовалась для получения сжатого размера файла в ZIP-архиве. Мы объяснили её синтаксис, привели пример для устаревшей версии с базовой обработкой ошибок и показали современную альтернативу с использованием класса ZipArchive. Для актуальных версий PHP (8.0+) всегда используйте ZipArchive, чтобы избежать фатальных ошибок и обеспечить совместимость.

Практика

Практика

В чём заключается функциональность функции zip_entry_compressedsize() в PHP?