dmamontov / rararchiver
用于操作RAR存档的类。
Requires
- php: >=5.5.11
This package is auto-updated.
Last update: 2020-08-06 14:54:50 UTC
README
正在进行版本2.0。
RarArchiver
用于操作RAR存档的类。允许您向目录中添加文件,以及提取、删除、重命名和获取内容。
要求
- PHP版本 ~5.5.11
安装
-
安装composer
-
在项目文件夹中执行
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'; }