oihana/php-files

The Oihana PHP Files library

Maintainers

Package info

github.com/BcommeBois/oihana-php-files

pkg:composer/oihana/php-files

Statistics

Installs: 335

Dependents: 11

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2025-08-13 09:05 UTC

This package is auto-updated.

Last update: 2026-06-09 20:01:38 UTC


README

Oihana PHP Files

A versatile PHP library for seamless and portable file and path handling.

Latest Version
Total Downloads
License

📚 Documentation

User guides (FR + EN), with narrative explanations, examples, and security notes:

🇬🇧 English documentation 🇫🇷 Documentation française
Getting started, paths, files, archives, OpenSSL, TOML, options, enums, tips. Démarrage, chemins, fichiers, archives, OpenSSL, TOML, options, énumérations, astuces.

Auto-generated API reference (phpDocumentor):
👉 https://bcommebois.github.io/oihana-php-files

🚀 Features

  • 📁 Cross-platform path and file utilities — Normalize, join, and manipulate file paths with ease.
  • 🔐 File encryption and decryption powered by OpenSSL.
  • 🗜️ Create, compress and extract archives (.tar and .tar.gz).
  • 📂 Recursive file discovery with advanced filters and options.
  • 🧪 Full unit test coverage ensuring reliability and maintainability.

💡 Designed to be lightweight, testable, and compatible with any PHP 8.4+ project.

📦 Installation

Requires PHP 8.4+

Install via Composer:

composer require oihana/php-files

✅ Tests & coverage

Run the full unit-test suite (PHPUnit, strict mode):

composer test

Run a single test case:

./vendor/bin/phpunit --filter OpenSSLFileEncryptionTest

Measure coverage (requires Xdebug or PCOV):

composer coverage        # text + Clover + HTML under build/coverage/
composer coverage:md     # readable Markdown summary (build/coverage/COVERAGE.md)

The suite currently covers 100% of lines (1416/1416). For the testing philosophy, the testability tiers and the @codeCoverageIgnore policy, see the detailed guide: wiki/en/testing.md · wiki/fr/testing.md.

🧾 License

This project is licensed under the Mozilla Public License 2.0 (MPL-2.0).

👤 About the author

🛠️ Generate the Documentation

We use phpDocumentor to generate the documentation into the ./docs folder.

Usage

Run the command :

composer doc

🔗 Related packages

  • oihana/php-core – core helpers and utilities used by this library: https://github.com/BcommeBois/oihana-php-core
  • oihana/php-reflect – reflection and hydration utilities: https://github.com/BcommeBois/oihana-php-reflect
  • oihana/php-enums – a collection of strongly-typed constant enumerations for PHP.: https://github.com/BcommeBois/oihana-php-enums