wapmorgan/cab-archive

Reading and extraction of .cab-files

Maintainers

👁 wapmorgan

Package info

github.com/wapmorgan/CabArchive

pkg:composer/wapmorgan/cab-archive

Statistics

Installs: 14 020

Dependents: 0

Suggesters: 1

Stars: 3

Open Issues: 0

0.0.7 2018-09-12 14:39 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 9cb909080c907ef95caaff16236aae0b11fca6c1

archivecabcabinet

This package is auto-updated.

Last update: 2026-06-29 01:20:45 UTC


README

CabArchive is reader of CAB (Microsoft Cabinet files).

👁 Total Downloads
👁 Latest Stable Version
👁 License
👁 Latest Unstable Version

Precaution! Right now library provide functionality to extract files only on PHP 7.0.22+, 7.1.8+, 7.2.0 due to bug in previous versions.

Usage

Firstly, you need to create CabArchive instance:

$cab = new CabArchive('123.cab');

After that you can get list of files in archive:

var_dump($cab->getFileNames());

After that you can get all information about one file in archive:

var_dump($cab->getFileData('README.md'));

CabArchive API

All list of properties and methods of CabArchive is listed below.

  • $filesCount - number of files in Cab-archive
  • __construct($filename) - creates new instance from file, stream or socket
  • getCabHeader() - returns header of Cab-archive as array
  • hasPreviousCab() - checks that this cab has previous Cab in set
  • getPreviousCab() - returns name of previous Cab
  • hasNextCab() - checks that this cab has next Cab in set
  • getNextCab() - returns name of next Cab
  • getSetId() - returns set id (identical for all cab-archives from one set)
  • getInSetNumber() - returns number of cab in set
  • getFileNames(): array - retrives list of files from archive
  • getFileData($filename): object - returns additional info of file as object.
  • getFileAttributes($filename): array - returns list of file attributes. All available attributes:
    • CabArchive::ATTRIB_READONLY
    • CabArchive::ATTRIB_HIDDEN
    • CabArchive::ATTRIB_SYSTEM
    • CabArchive::ATTRIB_EXEC
  • getFileContent($filename): string - returns raw content of file.
  • extract($output, array $files = []): bool|int - extracts file or files to specific folder.

getFileNames

array getFileNames()

This method returns an array of file names compressed in cab.

getFileData

object getFileData($filename)

This method returns an object with following fields:

  • size - uncompressed size in bytes
  • packedSize - compressed size in bytes
  • unixtime - date&time of modification in unixtime format
  • isCompressed - is file compressed as boolean

getFileContent

string getFileContent($filename)

This method returns raw file content of $filename. Supports extracting from cab's without compression and with MSZip compression. LZX compression is not supported.

Works correctly only on PHP:

  • 7.0.22+
  • 7.1.8+
  • 7.2.0

extract

int|bool extract($outputDirectory, array $files = [])

This method extracts passed files or the whole cab to $outputDirectory.

Supports extracting from cab's without compression and with MSZip compression. LZX compression is not supported.

Works correctly only on PHP:

  • 7.0.22+
  • 7.1.8+
  • 7.2.0

CAB Format