https://github.com/selective-php/rar
RAR file reader for PHP
https://github.com/selective-php/rar
php rar rar-archives rar-files rar-format
Last synced: about 1 year ago
JSON representation
RAR file reader for PHP
- Host: GitHub
- URL: https://github.com/selective-php/rar
- Owner: selective-php
- License: mit
- Created: 2019-08-06T15:51:52.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-09-09T21:17:13.000Z (over 2 years ago)
- Last Synced: 2025-03-29T12:04:46.558Z (about 1 year ago)
- Topics: php, rar, rar-archives, rar-files, rar-format
- Language: PHP
- Homepage:
- Size: 58.6 KB
- Stars: 20
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# selective/rar
RAR file reader for PHP.
[](https://packagist.org/packages/selective/rar)
[](LICENSE)
[](https://github.com/selective-php/rar/actions)
[](https://scrutinizer-ci.com/g/selective-php/rar/code-structure)
[](https://scrutinizer-ci.com/g/selective-php/rar/?branch=master)
[](https://packagist.org/packages/selective/rar/stats)
## Features
* Read RAR file information
* RAR 5 archive format
* RAR 4 archive format
* No dependencies
* Very fast
Note: This package does not support extracting / unpacking rar archives.
## Requirements
* PHP 8.1+
> The [PECL RAR package](https://www.php.net/manual/en/book.rar.php) is **NOT** required
## Installation
```
composer require selective/rar
```
## Usage
### Open RAR file
```php
use Selective\Rar\RarFileReader;
use SplFileObject;
$rarFileReader = new RarFileReader();
$rarArchive = $rarFileReader->openFile(new SplFileObject('test.rar'));
foreach ($rarArchive->getEntries() as $entry) {
echo $entry->getName() . "\n";
}
```
### Open in-memory RAR file
```php
use Selective\Rar\RarFileReader;
use SplTempFileObject;
$file = new SplTempFileObject();
$file->fwrite('my binary rar content');
$rarFileReader = new RarFileReader();
$rarArchive = $rarFileReader->openFile($file);
foreach ($rarArchive->getEntries() as $entry) {
echo $entry->getName() . "\n";
}
```
## License
The MIT License (MIT). Please see [License File](LICENSE) for more information.