Перейти к содержимому

zip_entry_filesize()

Функция zip_entry_filesize() была встроенной функцией в PHP, предназначенной для получения несжатого размера файла в zip-архиве. Важно: Эта функция была помечена как устаревшая в PHP 8.0 и удалена в PHP 8.1. Она больше не доступна в современных версиях PHP. Для обеспечения совместимости используйте класс ZipArchive.

Синтаксис

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

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

php
int zip_entry_filesize(resource $zip_entry)

Где $zip_entry — это дескриптор zip_entry для файла в zip-архиве.

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

Рассмотрим практический пример использования современного класса ZipArchive в PHP, который заменяет устаревший рабочий процесс zip_open и zip_read.

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

Предположим, у вас есть zip-архив, и вы хотите получить несжатый размер файла в нём. Вы можете использовать класс ZipArchive с правильной обработкой ошибок и методом statName, как показано ниже:

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

php
$zip = new ZipArchive();
if ($zip->open('example.zip') === true) {
    $stat = $zip->statName('file.txt');
    if ($stat !== false) {
        echo "The uncompressed size of the file is: " . $stat['size'] . " bytes.";
    } else {
        echo "File not found in archive.";
    }
    $zip->close();
} else {
    echo "Failed to open archive.";
}

Данный код создаёт экземпляр ZipArchive и открывает файл архива example.zip. Затем он использует statName() для получения метаданных конкретного файла, включая его несжатый размер. В примере предусмотрена обработка ошибок для проверки успешного открытия архива и наличия целевого файла, а также корректное закрытие архива для предотвращения утечек ресурсов.

Заключение

В этой статье мы обсудили функцию zip_entry_filesize() и отметили, что она была помечена как устаревшая в PHP 8.0 и удалена в PHP 8.1. Мы объяснили, что делала эта функция, её синтаксис, а также привели современный пример с безопасной обработкой ошибок, использующий класс ZipArchive и метод statName() для получения размеров файлов в актуальных версиях PHP. Используя ZipArchive в своих PHP-приложениях, вы сможете надёжно получать несжатый размер файла в zip-архиве и использовать эту информацию по мере необходимости.

Практика

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

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.