PHPackages                             indy2kro/php-iso - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. indy2kro/php-iso

ActiveLibrary[Image &amp; Media](/categories/media)

indy2kro/php-iso
================

PHP ISO file Library. A library for reading ISO files using PHP.

1.1.0(3mo ago)19GPL-2.0-or-laterPHPPHP &gt;=8.3CI passing

Since Jan 13Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/indy2kro/php-iso)[ Packagist](https://packagist.org/packages/indy2kro/php-iso)[ Docs](https://github.com/indy2kro/php-iso)[ RSS](/packages/indy2kro-php-iso/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (6)Versions (12)Used By (0)

PHP ISO Library
===============

[](#php-iso-library)

[![Scrutinizer Code Quality](https://camo.githubusercontent.com/1c02d46e8246be5d48118a1d3f516b4d22f232d7e1f4cccee586f8b874b6c860/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f696e6479326b726f2f7068702d69736f2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/indy2kro/php-iso/?branch=main) [![codecov](https://camo.githubusercontent.com/0290cc407c7f5caba8e2d17347b3439696b8fd02eb32b2a38c5a1863e1c3ad76/68747470733a2f2f636f6465636f762e696f2f67682f696e6479326b726f2f7068702d69736f2f67726170682f62616467652e7376673f746f6b656e3d4e426a37366e59746d42)](https://codecov.io/gh/indy2kro/php-iso) [![Tests](https://github.com/indy2kro/php-iso/actions/workflows/tests.yml/badge.svg)](https://github.com/indy2kro/php-iso/actions/workflows/tests.yml)

PHP Library used to read metadata and extract information from ISO files based on [php-iso-file](https://github.com/php-classes/php-iso-file)

This library follows the [ISO 9660 / ECMA-119](https://www.ecma-international.org/wp-content/uploads/ECMA-119_4th_edition_june_2019.pdf) standard.

Basic concepts
--------------

[](#basic-concepts)

- `IsoFile` - main ISO file object, contains one more descriptors
- `Descriptor` - descriptor object which can have one of the following types defined in `Type` class:
    - `BOOT_RECORD_DESC` : `Boot` object
    - `PRIMARY_VOLUME_DESC` : `PrimaryVolume` object
    - `SUPPLEMENTARY_VOLUME_DESC` : `SupplementaryVolume` object
    - `PARTITION_VOLUME_DESC` : `Partition` object
    - `TERMINATOR_DESC` : `Terminator` object
    - upon initialization of the `IsoFile` object, the descriptors will be populated automatically
- Volume descriptors contain path table inside which can be loaded using `loadTable`
    - `PathTableRecord` - object which contains the record information for a file/directory
- Each class contains various properties which can be used to interact with them, most of them `public`

Known limitations
-----------------

[](#known-limitations)

- ISO extensions currently not supported:
    - El Torito
    - Joliet
    - Rock Ridge
- UDF file format not supported
- Reading metadata requires manually processing the descriptors
    - Some Iterator implementation would be nice to have

Installation
------------

[](#installation)

This class can easily be installed via [Composer](https://getcomposer.org):
`composer require indy2kro/php-iso`

CLI tool
--------

[](#cli-tool)

This tool also provides a CLI tool that can be used to view information about ISO files - `bin\isotool`:

```
Description:
  Tool to process ISO files

Usage:
  isotool [options] --file=

Options:
  -f, --file                     Path for the ISO file (mandatory)
  -x, --extract=   Extract files in the given location

```

Sample usage:

```
Input ISO file: fixtures/1mb.iso

Number of descriptors: 3
  - Primary volume descriptor
   - System ID: Win32
   - Volume ID: 25_12_2024
   - App ID: PowerISO
   - Volume Space Size: 542
   - Volume Set Size: 1
   - Volume SeqNum: 1
   - Block size: 2048
   - Volume Set ID:
   - Publisher ID:
   - Preparer ID:
   - Copyright File ID:
   - Abstract File ID:
   - Bibliographic File ID:
   - Creation Date: 2024-12-25 14:01:20
   - Modification Date: 2024-12-25 14:01:20
   - Expiration Date:
   - Effective Date:
   - Files:
.
..
1MB.PNG

  - Supplementary volume descriptor
   - System ID: Win32
   - Volume ID: 25_12_2024
   - App ID: PowerISO
   - Volume Space Size: 542
   - Volume Set Size: 1
   - Volume SeqNum: 1
   - Block size: 2048
   - Volume Set ID:
   - Publisher ID:
   - Preparer ID:
   - Copyright File ID: ?
   - Abstract File ID: ?
   - Bibliographic File ID: ?
   - Creation Date: 2024-12-25 14:01:20
   - Modification Date: 2024-12-25 14:01:20
   - Expiration Date:
   - Effective Date:
   - Files:
.
..
1mb.png

  - Terminator descriptor

```

Usage
-----

[](#usage)

```
