PHPackages                             homelan/l3fsreader - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. homelan/l3fsreader

ActiveProject[Utility &amp; Helpers](/categories/utility)

homelan/l3fsreader
==================

Provides class for reading disk images from the Acorn Econet level 3 fileserver, and the Acorn Econet filestore.

v0.2.2(1y ago)098MITPHPPHP &gt;=7.1CI failing

Since Mar 19Pushed 1y ago1 watchersCompare

[ Source](https://github.com/johnhomelan/acorn-l3-fs)[ Packagist](https://packagist.org/packages/homelan/l3fsreader)[ RSS](/packages/homelan-l3fsreader/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (4)DependenciesVersions (5)Used By (0)

Acorn Disk
==========

[](#acorn-disk)

This package allows the reading of AFS disk images for the Econet Level 3 fileserver and Econet Filestores.

Features
--------

[](#features)

- PSR-4 autoloading compliant structure
- Disk Image must be read from a file

Install
-------

[](#install)

composer requre homelan/L3fsReader

Overview
--------

[](#overview)

The L3fsReader class, allows files and metadata to be read from a AFS disk image stored as a raw dump. AFS filing systems are like modern filing systems in that there is a hierarchical directory structure, with '$' being the root of the fs.

L3fsReader Usage
----------------

[](#l3fsreader-usage)

Creating a L3fsReader Object to directly open a file on disk

```
$oAfs = new \HomeLan\Retro\Acorn\Disk\L3fsReader('l3_disk_image.img');

```

Once the L3fsReader object exists a few simple methods can be used to read data from it.

```
$oAdfs->getCatalogue()

```

Gets the catalogue of what is on the disk \*CAT

e.g.

```
$aCatalogue = $oAdfs->getCatalogue();
foreach($aCatalogue as $sDirectoy=>$aDir)
{
	echo $sDirectoy."\n==============\n";
	foreach($aDir as $sFileName=>$aEntryMetadata){
		echo $sFileName."  [".$aEntryMetadata['loadaddr'].' '.$aEntryMetadata['execaddr'].' '.$aEntryMetadata['size'].' '.$aEntryMetadata['startsector'].' '$aEntryMetadata['type']."\n";

	}
}

$oAfs->getFile('$.!BOOT');

```

The the contents of a give file

e.g.

```
$sFileContents = $oAdfs->getFile('$.!BOOT');

$oAdfs->getStat('$.!BOOT');

```

Stats a file

```
$oAfs->isFile('$.!BOOT');

```

Test if a given path is a file or not

e.g.

```
$bFile = $oAfs->isFile('$.!BOOT');
if($bFile){
	echo "!BOOT is file.\n"
}

$oAfs->isDir('A');

```

Test if a given path is a file or not

```
$bDir = $oAfs->isDir('D');
if($bDir){
	echo "D is a dir.\n"
}

```

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance47

Moderate activity, may be stable

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~507 days

Total

4

Last Release

399d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/87d701f6f965823826d93e0b18d807803974f133130f30c6019b3d069754d3e5?d=identicon)[johnhomelan](/maintainers/johnhomelan)

---

Top Contributors

[![johnhomelan](https://avatars.githubusercontent.com/u/19326905?v=4)](https://github.com/johnhomelan "johnhomelan (2 commits)")

---

Tags

afseconet level 3econet filestore

### Embed Badge

![Health badge](/badges/homelan-l3fsreader/health.svg)

```
[![Health](https://phpackages.com/badges/homelan-l3fsreader/health.svg)](https://phpackages.com/packages/homelan-l3fsreader)
```

###  Alternatives

[rcastera/session

Session Class

212.2k1](/packages/rcastera-session)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
