wapmorgan/cab-archive
Composer 安装命令:
composer require wapmorgan/cab-archive
包简介
Reading and extraction of .cab-files
README 文档
README
CabArchive is reader of CAB (Microsoft Cabinet files).
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 socketgetCabHeader()- returns header of Cab-archive as arrayhasPreviousCab()- checks that this cab has previous Cab in setgetPreviousCab()- returns name of previous CabhasNextCab()- checks that this cab has next Cab in setgetNextCab()- returns name of next CabgetSetId()- returns set id (identical for all cab-archives from one set)getInSetNumber()- returns number of cab in setgetFileNames(): array- retrives list of files from archivegetFileData($filename): object- returns additional info of file as object.getFileAttributes($filename): array- returns list of file attributes. All available attributes:CabArchive::ATTRIB_READONLYCabArchive::ATTRIB_HIDDENCabArchive::ATTRIB_SYSTEMCabArchive::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
- .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
wapmorgan/cab-archive 适用场景与选型建议
wapmorgan/cab-archive 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 13.99k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2017 年 01 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「archive」 「cab」 「cabinet」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 wapmorgan/cab-archive 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 wapmorgan/cab-archive 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 wapmorgan/cab-archive 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
UnifiedArchive - an archive manager with unified interface of working with all popular archive formats (zip/7z/rar/gz/bz2/xz/cab/tar/tar.gz/tar.bz2/tar.x/tar.Z/...) for PHP with ability for listing, reading, extracting and creation + built-in console archive manager.
Smart compressed files extractor
A trait to make an Eloquent model archivable
Smart compressed files extractor
OriginPHP Zip
Class for creation of .tar.zip Archives
统计信息
- 总下载量: 13.99k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2017-01-17