wapmorgan/cab-archive

读取和提取 .cab 文件

0.0.7 2018-09-12 14:39 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:13 UTC


README

CabArchive 是 CAB (微软压缩柜文件) 的读取器。

Total Downloads Latest Stable Version License Latest Unstable Version

注意! 由于旧版本中的错误,当前库仅提供在 PHP 7.0.22+、7.1.8+、7.2.0 上提取文件的功能。

使用方法

首先,您需要创建 CabArchive 实例

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

之后,您可以获取存档中的文件列表

var_dump($cab->getFileNames());

之后,您可以获取存档中一个文件的详细信息

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

CabArchive API

以下列出了 CabArchive 的所有属性和方法。

  • $filesCount - Cab-存档中的文件数量
  • __construct($filename) - 从文件、流或套接字创建新实例
  • getCabHeader() - 返回 Cab-存档的头信息作为数组
  • hasPreviousCab() - 检查此 cab 是否在集中有前一个 Cab
  • getPreviousCab() - 返回前一个 Cab 的名称
  • hasNextCab() - 检查此 cab 是否在集中有下一个 Cab
  • getNextCab() - 返回下一个 Cab 的名称
  • getSetId() - 返回集 ID(对于来自一个集的所有 cab-存档是相同的)
  • getInSetNumber() - 返回集中 cab 的编号
  • getFileNames(): array - 从存档检索文件列表
  • getFileData($filename): object - 返回文件的附加信息作为对象。
  • getFileAttributes($filename): array - 返回文件属性列表。所有可用属性
    • CabArchive::ATTRIB_READONLY
    • CabArchive::ATTRIB_HIDDEN
    • CabArchive::ATTRIB_SYSTEM
    • CabArchive::ATTRIB_EXEC
  • getFileContent($filename): string - 返回文件的原始内容。
  • extract($output, array $files = []): bool|int - 将文件或文件提取到指定文件夹。

getFileNames

array getFileNames()

此方法返回一个数组,包含压缩在 cab 中的文件名。

getFileData

object getFileData($filename)

此方法返回一个对象,包含以下字段

  • size - 未压缩的字节大小
  • packedSize - 压缩的字节大小
  • unixtime - 以 unixtime 格式的修改日期和时间
  • isCompressed - 文件是否被压缩为 布尔值

getFileContent

string getFileContent($filename)

此方法返回 $filename 的原始文件内容。支持从未压缩和带有 MSZip 压缩的 cab 中提取。不支持 LZX 压缩。

仅适用于 PHP

  • 7.0.22+
  • 7.1.8+
  • 7.2.0

extract

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

此方法将传递的文件或整个 cab 提取到 $outputDirectory

支持从未压缩和带有 MSZip 压缩的 cab 中提取。不支持 LZX 压缩。

仅适用于 PHP

  • 7.0.22+
  • 7.1.8+
  • 7.2.0

CAB 格式