, (*1)
In the process version 2.0.
RarArchiver
Class for working with archives RAR. It allows you to add files to the directory, as well as extract, delete, rename, and get content., (*2)
Requirements
Installation
1) Install composer, (*3)
2) Follow in the project folder:, (*4)
composer require dmamontov/rararchiver ~1.0.0
In config composer.json your project will be added to the library dmamontov/rararchiver, who settled in the folder vendor/. In the absence of a config file or folder with vendors they will be created., (*5)
If before your project is not used composer, connect the startup file vendors. To do this, enter the code in the project:, (*6)
require 'path/to/vendor/autoload.php';
Available methods
RarArchiver::__construct
Description
void RarArchiver::__construct ( string $file [, $flag = 0] )
It creates or opens a file and initializes it., (*7)
Parameters
-
file - The path to archive.
-
flag - An optional parameter.
-
RarArchiver::CREATE - It creates the archive if it is not found.
-
RarArchiver::REPLACE - Overwrites the archive if it is found, otherwise create it.
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
RarArchiver::isRar
Description
boolean RarArchiver::isRar ( void )
Checks whether the file archive RAR., (*8)
Return Values
Returns TRUE on success or FALSE on failure., (*9)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->isRar()) {
echo 'ok';
} else {
echo 'failed';
}
RarArchiver::getFileList
Description
array RarArchiver::getFileList ( void )
Gets a list of files in the archive., (*10)
Return Values
Returns the filled array on success, or an empty array on failure., (*11)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if (count($rar->getFileList()) > 0) {
echo 'ok';
} else {
echo 'failed';
}
RarArchiver::addEmptyDir
Description
boolean RarArchiver::addEmptyDir ( string $dirname )
Adds an empty directory in the archive., (*12)
Parameters
-
dirname - The directory to add.
Return Values
Returns TRUE on success or FALSE on failure., (*13)
Examples
$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
Description
boolean RarArchiver::addFile ( string $filename [, string $localname = ''] )
Adds a file to a RAR archive from a given path., (*14)
Parameters
-
filename - The path to the file to add.
-
localname - If supplied, this is the local name inside the RAR archive that will override the filename.
Return Values
Returns TRUE on success or FALSE on failure., (*15)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->addFile('/path/to/index.txt', 'newname.txt')) {
echo 'ok';
} else {
echo 'failed';
}
RarArchiver::addFromString
Description
boolean RarArchiver::addFromString ( string $localname , string $contents )
Add a file to a RAR archive using its contents., (*16)
Parameters
-
localname - The name of the entry to create.
-
contents - The contents to use to create the entry.
Return Values
Returns TRUE on success or FALSE on failure., (*17)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->addFromString('newname.txt', 'file content goes here')) {
echo 'ok';
} else {
echo 'failed';
}
RarArchiver::buildFromDirectory
Description
void RarArchiver::buildFromDirectory ( string $path [, string $regex ] )
Populate a RAR archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files., (*18)
Parameters
-
path - The full or relative path to the directory that contains all files to add to the archive.
-
regex - An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
$rar->buildFromDirectory(dirname(__FILE__) . '/project');
// or
$rar->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
RarArchiver::deleteIndex
Description
boolean RarArchiver::deleteIndex ( int $index )
Delete an entry in the archive using its index., (*19)
Parameters
-
index - Index of the entry to delete.
Return Values
Returns TRUE on success or FALSE on failure., (*20)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->deleteIndex(2)) {
echo 'ok';
} else {
echo 'failed';
}
RarArchiver::deleteName
Description
boolean RarArchiver::deleteName ( string $name )
Delete an entry in the archive using its name., (*21)
Parameters
-
name - Name of the entry to delete.
Return Values
Returns TRUE on success or FALSE on failure., (*22)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->deleteName('testfromfile.php')) {
echo 'ok';
} else {
echo 'failed';
}
RarArchiver::getFromIndex
Description
string RarArchiver::getFromIndex ( int $index [, int $length = 0] )
Returns the entry contents using its index., (*23)
Parameters
-
index - Index of the entry.
-
length - The length to be read from the entry. If 0, then the entire entry is read.
Return Values
Returns the contents of the entry on success or FALSE on failure., (*24)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
$rar->getFromIndex(2);
// or
$rar->getFromIndex(2, 100);
RarArchiver::getFromName
Description
string RarArchiver::getFromName ( string $name [, int $length = 0] )
Returns the entry contents using its name., (*25)
Parameters
-
name - Name of the entry.
-
length - The length to be read from the entry. If 0, then the entire entry is read.
Return Values
Returns the contents of the entry on success or FALSE on failure., (*26)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
$rar->getFromName('testfromfile.php');
// or
$rar->getFromIndex('testfromfile.php', 100);
RarArchiver::getNameIndex
Description
string RarArchiver::getNameIndex ( int $index )
Returns the name of an entry using its index., (*27)
Parameters
-
index - Index of the entry.
Return Values
Returns the name on success or FALSE on failure., (*28)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
$rar->getNameIndex(2);
RarArchiver::renameIndex
Description
boolean RarArchiver::renameIndex ( int $index , string $newname )
Renames an entry defined by its index., (*29)
Parameters
-
index - Index of the entry to rename.
-
newname - New name.
Return Values
Returns TRUE on success or FALSE on failure., (*30)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->renameIndex(2, 'newname.php')) {
echo 'ok';
} else {
echo 'failed';
}
RarArchiver::renameName
Description
boolean RarArchiver::renameName ( string $name , string $newname )
Renames an entry defined by its name., (*31)
Parameters
-
name - Name of the entry to rename.
-
newname - New name.
Return Values
Returns TRUE on success or FALSE on failure., (*32)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->renameName('testfromfile.php', 'newname.php')) {
echo 'ok';
} else {
echo 'failed';
}
Description
boolean RarArchiver::extractTo ( string $destination [, mixed $entries ] )
Extract the complete archive or the given files to the specified destination., (*33)
Parameters
-
destination - Location where to extract the files.
-
entries - The entries to extract. It accepts either a single entry name or an array of names.
Return Values
Returns TRUE on success or FALSE on failure., (*34)
Examples
$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if ($rar->extractTo('/my/destination/dir/')) {
echo 'ok';
} else {
echo 'failed';
}