PHPackages                             ionitium/filesystem - 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. [Caching](/categories/caching)
4. /
5. ionitium/filesystem

ActiveLibrary[Caching](/categories/caching)

ionitium/filesystem
===================

Ionitium Filesystem

1.1.1(8y ago)243MITPHPPHP &gt;=5.3.3

Since Jun 15Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Ionitium/filesystem)[ Packagist](https://packagist.org/packages/ionitium/filesystem)[ Docs](http://ionitium.com)[ RSS](/packages/ionitium-filesystem/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (1)Versions (3)Used By (0)

Filesystem
==========

[](#filesystem)

The `Filesystem` provides manage, access and retrieve information of file

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

[](#installation)

1. Installation via [Composer](http://www.composer.org) on [Packagist](http://www.packagist.com)
2. Installation using [Git](http://www.github.com) GIT clone component

Prerequisities
--------------

[](#prerequisities)

PHP version requirements: *PHP &gt;5.3*

PHP package requiremenets: php-xml or specified version (php5.6-xml, php7.0-xml, php7.1-xml)

Add `use Ionitium\Filesystem\Filesystem` declaration into required vendor package.

Example use to create directory:

```
use Ionitium\Filesystem\Filesystem;

$filesystem = new Filesystem;
if ($filesystem->mkdir('/tmp/myfolder')) {
    echo 'Directory created';
}
```

Changelog
---------

[](#changelog)

Status of core:

VersionState`1.1`Work with PHP 5.6/7.0/7.1`1.0`Release versionPHP version above `5.3`. Quality assurance: Unit tests provided

Table of Contents
-----------------

[](#table-of-contents)

**See TOC in `docs` directory**

### Filesystem

[](#filesystem-1)

- `mkdir()` - Create a directory
- `touch()` - Create a file or set access time
- `touchWithoutOwnerSet()` - Change a file state changed by owner
- `touchAlternate()` - Touch a file using fopen
- `remove()` - Remove a file or folder from path
- `copy()` - Copy recursive file and folder
- `isExists()` - Check if file or directory exists
- `isExistsAnyFile()` - Check if any file exists in folder recursive or get lists of files
- `getFiles()` - Get files inside directory non-recursive or recursive
- `setChmod()` - Changes file mode
- `setChmodRecursive()` - Changes file mode separated by file chmod and directory chmod
- `setChgrp()` - Changes file group
- `setChown()` - Change file owner
- `rename()` - Rename a file or folder
- `getFileOwner()` - Return info about a user by user id
- `getFileOwnerName()` - Return info about a user by user id
- `getLastAccessTime()` - Get last access time of file
- `readFile()` - Read a file
- `writeFilePrepend()` - Prepend a data to a file
- `writeFileAppend()` - Append a data to a file
- `writeFile()` - Write a new file, overwrite if exists
- `createFileAndClose()` - Create a non-exists file then close
- `isWriteable()` - Tells whether the filename is writable
- `getGuid()` - Generate 128 bits of random data
- `emptyFile()` - Truncate a file
- `isSymbolicLink()` - Tells whether the filename is a symbolic link
- `uploadFile()` - Moves an uploaded file to a new location
- `createHardLink()` - Create a hard link
- `createSymbolicLink()` - Creates a symbolic link
- `getLinkTarget()` - Returns the target of a symbolic link
- `createFileAutoUnique()` - Create file with unique file name
- `createTemporaryFile()` - Creates a temporary file
- `readTemporaryFile()` - Read a data from create temporary file
- `removeTemporaryFile()` - Close temporary file
- `getLinkInfo()` - Gets information about a link
- `executeFileInBackground()` - Execute background process
- `getProcessSnapshot()` - Get a process
- `getTreeStructure()` - Get tree structure of file
- `getHexDump()` - Returns hexadecimal dumps from a file
- `getHexDump()` - Get checksum of file
- `getIncludedFiles()` - Get a lists of included files
- `getBasename()` - Get basename of the path
- `readFileSeek()` - Returns string from read file at specified line

### FilesystemInfo

[](#filesysteminfo)

- `getStatRaw()` - Gives information about a file
- `getLastAccess()` - Gets last access time of file
- `getLastModification()` - Gets last modification time of file
- `getLastChanged()` - Gets inode change time of file, marks of last time
- `getFileInode()` - Gets file inode
- `getFileOwner()` - Gets file owner
- `getFilePermission()` - Gets file permissions
- `getFileSize()` - Get file size
- `getFileType()` - Gets file type
- `getHumanFileSize()` - Get human readable filesize
- `getFileGroup()` - Gets file group
- `getCountLines()` - Counts number lines of code
- `getDiskFreeSpace()` - Returns available space on filesystem or disk partition
- `getDiskTotalSpace()` - Returns the total size of a filesystem or disk partition
- `getDiskTotalUsage()` - Returns the total usage of disk filesystem
- `getPathInfo()` - Returns information about a file path
- `getMime()` - Return the mime type and encoding
- `getMimeType()` - Return the mime type
- `getMimeEncoding()` - Return the mime encoding
- `getMimeContentType()` - Detect MIME Content-type for a file
- `getInfoNone()` - Returns mime info global
- `getInfoDevices()` - Return information about a file
- `getInfoRaw()` - Returns raw information of file

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

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 ~296 days

Total

3

Last Release

3029d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b2b075bde7d995e6dd314779598f63feeaf0ba3fa32c2ee6f493613c62a8a3cf?d=identicon)[marinsagovac](/maintainers/marinsagovac)

---

Top Contributors

[![marinsagovac](https://avatars.githubusercontent.com/u/8504733?v=4)](https://github.com/marinsagovac "marinsagovac (36 commits)")

---

Tags

cachechmoddisk-partitionencodingfilefilesystemframeworkinodemimephpphpframeworkphpiteratorfileystem

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ionitium-filesystem/health.svg)

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

###  Alternatives

[awssat/laravel-visits

Laravel Redis visits counter for Eloquent models

975163.6k2](/packages/awssat-laravel-visits)[swayok/alternative-laravel-cache

Replacements for Laravel's redis and file cache stores that properly implement tagging idea. Powered by cache pool implementations provided by http://www.php-cache.com/

202541.1k6](/packages/swayok-alternative-laravel-cache)[swoft/redis

swoft redis component

12168.4k16](/packages/swoft-redis)[eftec/cacheone

A Cache library with minimum dependency

103.5k4](/packages/eftec-cacheone)

PHPackages © 2026

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