biohzrdmx/tar-reader-php

tar文件读取库

1.0 2022-11-15 18:46 UTC

This package is auto-updated.

Last update: 2024-09-15 23:26:57 UTC


README

tar文件读取库。

使用TarReader,您可以浏览tar包的内容,而不仅仅是提取它。

基本用法

首先使用Composer要求biohzrdmx/tar-reader-php

然后只需创建一个TarReader实例,传入一个存档路径

use TarReader\TarReader;

$tar = new TarReader( __DIR__ . DIRECTORY_SEPARATOR . 'file.tar.gz' );

该库支持tartar.gztar.bz2存档。

要获取存档的内容,调用getEntries方法

$entries = $tar->getEntries();

此函数返回一个对象数组,每个对象具有以下属性

  • checksum - 条目的校验和,例如:5989
  • filename - 文件名,例如:"lorem.txt"
  • perm - 权限掩码,例如:511
  • uid - 文件所有者的数字用户ID,例如:1000
  • gid - 文件所有者的数字组ID,例如:1000
  • size - 大小,以字节为单位,例如:19
  • mtime - 最后修改时间戳,例如:1668473650
  • typeflag - 条目的类型,例如:"0"
  • link - 如果适用,则链接名称,例如:""
  • uname - 文件所有者的用户名,例如:"www-data"
  • gname - 文件所有者的组名,例如:"www-data"
  • offset - 条目偏移量,例如:2560

您还可以使用readEntry方法获取特定条目的内容

$entry = $entries[1] ?? null;
if ($entry) {
  $data = $tar->readEntry($entry);
  file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . $entry->filename, $data);
}

许可

本软件根据MIT许可证发布。

版权所有 © 2022 biohzrdmx。

特此授予任何人免费获得本软件和相关文档副本(“软件”)的权利,无限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向获得软件的人提供软件以进行上述操作,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,源于、因之或与此软件或其使用或其他处理有关。

鸣谢

主要程序员: biohzrdmx github.com/biohzrdmx