2017 © Pedro Peláez
 

library cab-archive

Reading and extraction of .cab-files

image

wapmorgan/cab-archive

Reading and extraction of .cab-files

  • Sunday, March 25, 2018
  • by wapmorgan
  • Repository
  • 2 Watchers
  • 1 Stars
  • 104 Installations
  • PHP
  • 0 Dependents
  • 1 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 11 % Grown

The README.md

CabArchive

CabArchive is reader of CAB (Microsoft Cabinet files)., (*1)

Total Downloads Latest Stable Version License Latest Unstable Version, (*2)

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., (*3)

Usage

Firstly, you need to create CabArchive instance:, (*4)

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

After that you can get list of files in archive:, (*5)

var_dump($cab->getFileNames());

After that you can get all information about one file in archive:, (*6)

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

CabArchive API

All list of properties and methods of CabArchive is listed below., (*7)

  • $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., (*8)

getFileData

object getFileData($filename)

This method returns an object with following fields:, (*9)

  • 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., (*10)

Works correctly only on PHP:, (*11)

  • 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., (*12)

Supports extracting from cab's without compression and with MSZip compression. LZX compression is not supported., (*13)

Works correctly only on PHP:, (*14)

  • 7.0.22+
  • 7.1.8+
  • 7.2.0

CAB Format

  • .CAB-files format is described at https://msdn.microsoft.com/en-us/library/bb417343.aspx
  • MSZIP compression (based on Deflate) is described at http://interoperability.blob.core.windows.net/files/MS-MCI/[MS-MCI].pdf

The Versions

25/03 2018

dev-master

9999999-dev

Reading and extraction of .cab-files

  Sources   Download

MIT

The Requires

 

archive cab cabinet

13/02 2018

0.0.6

0.0.6.0

Reading and extraction of .cab-files

  Sources   Download

MIT

The Requires

 

archive cab cabinet

29/06 2017

0.0.5

0.0.5.0

Reading and extraction of .cab-files

  Sources   Download

MIT

The Requires

 

archive cab cabinet

17/01 2017

0.0.4

0.0.4.0

Reading and extraction of .cab-files

  Sources   Download

MIT

The Requires

 

archive cab cabinet

17/01 2017

0.0.3

0.0.3.0

Reading and extraction of .cab-files

  Sources   Download

MIT

The Requires

 

archive cab cabinet

17/01 2017

0.0.2

0.0.2.0

Reading and extraction of .cab-files

  Sources   Download

MIT

The Requires

 

archive cab cabinet