File_Cabinet_Exception
[ class tree: File_Cabinet_Exception ] [ index: File_Cabinet_Exception ] [ all elements ]

File: Cabinet.php

Source Location: /File_Cabinet-0.1.0/Cabinet.php

Classes:

File_Cabinet_Exception
File_Cabinet
Microsoft Cabinet file extraction wrapper.

Page Details:

Microsoft Cabinet file extraction wrapper. Uses either cabextract or expand.

PHP version 5

Notes:

  • If running on windows, requires php 5.2.1 or greater
  • Currently only reads cabinet files.
  • This package does not assume the filename will have a cab extension
  • CAB files may be generated under Windows XP by running "iexpress"
  • Microsoft Infopath uses the CAB format to store it's xml files
Todo:
  • Add ability to create cabinets.
  • Expand multi-file cabinents.
Resources:
  • Microsoft Cabinet SDK. Contains tools and documentation: http://support.microsoft.com/kb/310618

A note about writing this package in pure PHP: Although the cab file format documentation is readily available with the CAB SDK and the format itself is quite straight forward, there is a complication with decompressing the data blocks when compressed with the Deflate algorithm. Data compressed with Deflate may be easily inflated using gzinflate() from PHP's zlib extension, however when there is more than one cabinet data block for the same folder, successive data blocks may contain back references to previous data blocks, which is beyond gzinflate()'s capabilities. Zlib itself can handle this, but the zlib extension for PHP cannot. Therefore to put together a package entirely in PHP would mean a very own implementation of inflate.

Includes:

require_once('PEAR/Exception.php') [line 43]

Documentation generated on Mon, 11 Mar 2019 15:16:03 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.