Current Location: Home> Latest Articles> How to Use PHP ZipArchive to Determine File Size Inside ZIP Archives

How to Use PHP ZipArchive to Determine File Size Inside ZIP Archives

gitbox 2025-07-20

Introduction

Handling ZIP files is a common task in web development. PHP's built-in ZipArchive extension provides developers with an efficient way to work with ZIP archives. This article explains how to determine the size of a specific file inside a ZIP archive using ZipArchive.

Prerequisites

Before using ZipArchive, ensure the extension is installed on your server. On Debian or Ubuntu systems, you can install it with the following command:


sudo apt-get install php-zip

Once installed, you can start using the ZipArchive class in your PHP scripts.

Opening a ZIP File

To open an existing ZIP archive, use the open method of the ZipArchive class. Here's a basic example:


$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
    // Successfully opened the ZIP archive
} else {
    // Failed to open the archive
}

Once the ZIP file is successfully opened, you can access its contents or retrieve file information as needed.

Getting the Size of a File Inside the ZIP

To obtain the size of a specific file inside the ZIP archive, use the statName method. This method retrieves metadata about the specified file. Example:


$fileSize = $zip->statName('path/to/file.txt')['size'];

This will return the file size in bytes. You can convert it to KB or MB based on your application's needs.

Full Example

Below is a complete PHP example showing how to check the size of a file inside a ZIP archive using ZipArchive:


$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
    $fileSize = $zip->statName('path/to/file.txt')['size'];
    echo "File size: " . $fileSize . " bytes";
    $zip->close();
} else {
    echo "Failed to open ZIP file";
}

This code enables you to accurately retrieve the size of a specific file inside a ZIP archive, which is particularly useful in scenarios such as validating uploaded files or automating file checks.

Conclusion

This article explained how to use PHP's ZipArchive extension to determine the size of a specific file within a ZIP archive. We covered how to install the required extension, open ZIP files, and extract file metadata using statName.

Besides file size retrieval, ZipArchive also supports extracting, adding, and deleting files, offering a full range of operations for handling ZIP archives in PHP.

We hope this guide provides practical value for your PHP development projects.