dmamontov/rararchiver

此包已被弃用且不再维护。未建议替代包。

用于操作RAR存档的类。

1.0.0 2015-05-29 13:57 UTC

This package is auto-updated.

Last update: 2020-08-06 14:54:50 UTC


README

Latest Stable Version License

正在进行版本2.0。

RarArchiver

用于操作RAR存档的类。允许您向目录中添加文件,以及提取、删除、重命名和获取内容。

要求

  • PHP版本 ~5.5.11

安装

  1. 安装composer

  2. 在项目文件夹中执行

composer require dmamontov/rararchiver ~1.0.0

在config composer.json中,您的项目将被添加到库dmamontov/rararchiver中,该库位于文件夹vendor/中。如果没有配置文件或供应商文件夹,它们将被创建。

如果之前您的项目未使用composer,连接启动文件供应商。为此,在项目代码中输入以下代码

require 'path/to/vendor/autoload.php';

可用方法

RarArchiver::__construct

描述

void RarArchiver::__construct ( string $file [, $flag = 0] )

它创建或打开文件并初始化它。

参数

  • file - 存档的路径。
  • flag - 可选参数。
  • RarArchiver::CREATE - 如果未找到,则创建存档。
  • RarArchiver::REPLACE - 如果找到,则覆盖存档,否则创建它。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

RarArchiver::isRar

描述

boolean RarArchiver::isRar ( void )

检查文件是否为RAR存档。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->isRar()) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::getFileList

描述

array RarArchiver::getFileList ( void )

获取存档中的文件列表。

返回值

在成功时返回填充的数组,或在失败时返回空数组。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if (count($rar->getFileList()) > 0) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::addEmptyDir

描述

boolean RarArchiver::addEmptyDir ( string $dirname )

在存档中添加一个空目录。

参数

  • dirname - 要添加的目录。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->addEmptyDir('newEmptyDirectory')) {
    echo 'Created a new root directory';
} else {
	echo 'Could not create the directory';
}

RarArchiver::addFile

描述

boolean RarArchiver::addFile ( string $filename [, string $localname = ''] )

从给定路径向 RAR 存档添加文件。

参数

  • filename - 要添加的文件的路径。
  • localname - 如果提供,这将覆盖 filename 的 RAR 存档中的本地名称。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->addFile('/path/to/index.txt', 'newname.txt')) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::addFromString

描述

boolean RarArchiver::addFromString ( string $localname , string $contents )

使用文件内容将文件添加到 RAR 存档中。

参数

  • localname - 要创建的条目名称。
  • contents - 用于创建条目的内容。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->addFromString('newname.txt', 'file content goes here')) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::buildFromDirectory

描述

void RarArchiver::buildFromDirectory ( string $path [, string $regex ] )

从目录内容填充 RAR 存档。可选的第二参数是一个正则表达式(pcre),用于排除文件。

参数

  • path - 包含要添加到存档的所有文件的目录的完整或相对路径。
  • regex - 一个可选的正则表达式(pcre),用于过滤文件列表。只有匹配正则表达式的文件路径将包含在存档中。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

$rar->buildFromDirectory(dirname(__FILE__) . '/project');
// or
$rar->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');

RarArchiver::deleteIndex

描述

boolean RarArchiver::deleteIndex ( int $index )

使用索引从存档中删除条目。

参数

  • index - 要删除的条目的索引。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->deleteIndex(2)) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::deleteName

描述

boolean RarArchiver::deleteName ( string $name )

使用条目名称从存档中删除条目。

参数

  • name - 要删除的条目名称。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->deleteName('testfromfile.php')) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::getFromIndex

描述

string RarArchiver::getFromIndex ( int $index [, int $length = 0] )

使用索引返回条目内容。

参数

  • index - 条目的索引。
  • length - 从条目中读取的长度。如果为0,则读取整个条目。

返回值

成功时返回条目内容或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

$rar->getFromIndex(2);
// or
$rar->getFromIndex(2, 100);

RarArchiver::getFromName

描述

string RarArchiver::getFromName ( string $name [, int $length = 0] )

使用条目名称返回条目内容。

参数

  • name - 条目名称。
  • length - 从条目中读取的长度。如果为0,则读取整个条目。

返回值

成功时返回条目内容或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

$rar->getFromName('testfromfile.php');
// or
$rar->getFromIndex('testfromfile.php', 100);

RarArchiver::getNameIndex

描述

string RarArchiver::getNameIndex ( int $index )

使用索引返回条目名称。

参数

  • index - 条目的索引。

返回值

成功时返回名称或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

$rar->getNameIndex(2);

RarArchiver::renameIndex

描述

boolean RarArchiver::renameIndex ( int $index , string $newname )

重命名由索引定义的条目。

参数

  • index - 要重命名的条目索引。
  • newname - 新名称。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->renameIndex(2, 'newname.php')) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::renameName

描述

boolean RarArchiver::renameName ( string $name , string $newname )

重命名由名称定义的条目。

参数

  • name - 要重命名的条目名称。
  • newname - 新名称。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->renameName('testfromfile.php', 'newname.php')) {
    echo 'ok';
} else {
	echo 'failed';
}

RarArchiver::extractTo

描述

boolean RarArchiver::extractTo ( string $destination [, mixed $entries ] )

将完整存档或指定文件提取到指定位置。

参数

  • destination - 文件提取到的位置。
  • entries - 要提取的条目。它接受单个条目名称或名称数组。

返回值

在成功时返回TRUE或失败时返回FALSE。

示例

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);

if ($rar->extractTo('/my/destination/dir/')) {
    echo 'ok';
} else {
	echo 'failed';
}