PHP Classes

PHP RAR Library: Create, manipulate and extract RAR archives

Recommend this page to a friend!
  Info   View files Example   View files View files (5)   DownloadInstall with Composer Download .zip   Reputation   Support forum (5)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 59%Total: 830 All time: 4,160 This week: 121Up
Version License PHP version Categories
rar-archiver 1.0.3BSD License5.5.11PHP 5, Files and Folders, Compression
Description 

Author

This class can create, manipulate and extract RAR archives.

It can create new archives in RAR format by adding files from directories, existing files or data strings.

The class can also check if a given file is a valid RAR archive, list its file contents, extract the files to a given directory, rename or delete files from the archive.

The RAR archive files are built or extracted using pure PHP code without resorting to external programs.

Innovation Award
PHP Programming Innovation award nominee
June 2015
Number 3


Prize: SourceGuarding PHP encoder tool
RAR is a popular format for packing files in compressed file format.

This class provides a pure PHP implementation to create and manipulate RAR archives, so you do not rely on the availability of the rar external command.

Manuel Lemos
Picture of Dmitry Mamontov
  Performance   Level  
Name: Dmitry Mamontov <contact>
Classes: 16 packages by
Country: Russian Federation Russian Federation
Age: 32
All time rank: 78727 in Russian Federation Russian Federation
Week rank: 198 Up11 in Russian Federation Russian Federation Up
Innovation award
Innovation award
Nominee: 6x

Example

<?php
/**
 * RarArchiver
 *
 * Copyright (c) 2015, Dmitry Mamontov <d.slonyara@gmail.com>.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *
 * * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in
 * the documentation and/or other materials provided with the
 * distribution.
 *
 * * Neither the name of Dmitry Mamontov nor the names of his
 * contributors may be used to endorse or promote products derived
 * from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * @package rararchiver
 * @author Dmitry Mamontov <d.slonyara@gmail.com>
 * @copyright 2015 Dmitry Mamontov <d.slonyara@gmail.com>
 * @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
 * @since File available since Release 1.0.0
 */
require_once 'vendor/autoload.php';

$rar = new RarArchiver('example.rar', RarArchiver::CREATE);
if (
$rar->isRar()) {
   
$rar->buildFromDirectory('/var/www');
   
$rar->addEmptyDir('/example/');
   
$rar->addFile('/var/www/index.php', '/example/example.php');
   
$rar->addFromString('/example/example.txt', 'Example text');

   
$files = $rar->getFileList();
    if (
in_array('/example/example.txt', $files)) {
       
$rar->renameName('/example/example.txt', '/example/rename-example.txt');
       
$rar->deleteName('/example/rename-example.txt');
    }

   
$rar->extractTo('tmp');
}
?>


  Files folder image Files  
File Role Description
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file example.php Example Example script
Accessible without login Plain text file LICENSE Lic. License text
Plain text file RarArchiver.php Class Class source
Accessible without login Plain text file README.md Doc. Documentation

 Version Control Unique User Downloads Download Rankings  
 100%
Total:830
This week:0
All time:4,160
This week:121Up
 User Ratings  
 
 All time
Utility:75%StarStarStarStar
Consistency:80%StarStarStarStarStar
Documentation:70%StarStarStarStar
Examples:65%StarStarStarStar
Tests:-
Videos:-
Overall:59%StarStarStar
Rank:1495