crodas/file-util
A small PHP utility library for everyday file operations, with helpers for reading, writing, and inspecting files and paths. Useful for simplifying common filesystem tasks in Laravel or plain PHP projects.
Illuminate\Filesystem (Flysystem) and symfony/finder. This package is a candidate only for the narrow gap those two don't cover—path normalization edge cases, recursive copy/move semantics, atomic writes, glob helpers.FileSupport service.Storage::fake().Adopt only under all of the following: you have a specific, documented gap in symfony/finder + league/flysystem + Laravel's Filesystem; you have read the source and confirmed behavior on Windows and Linux; you are prepared to fork and vendor it into your repo, own the tests, and accept full maintenance; and the license is compatible with your distribution model.
Look elsewhere—almost always—when: the need is ordinary copy, move, delete, glob, or directory listing (use Laravel's File/Storage); you need cloud storage parity (Flysystem adapters); you need test doubles (Storage::fake()); or your team lacks bandwidth to own a fork. The absence of dependents and stars means no downstream bug surface has been exercised, no security review has occurred, and no upgrade path exists. Treat "no dependents" as a hard stop for anything on a customer-facing critical path. If a single function is genuinely missing, budget a one-day spike to write it in-house with tests—cheaper than the long-term cost of an unmaintained dependency.
To executives: This package is not a strategic dependency and should not enter our stack. It illustrates a recurring decision—whether to pull in a small utility library or build the capability ourselves—and our answer for file handling is to standardize on Laravel's built-in filesystem and Flysystem, which we already maintain, test, and secure. Adopting a two-star library with zero downstream users would add supply-chain risk for functionality we can cover in a short internal spike.
To engineering: Use Illuminate\Filesystem, Storage, and symfony/finder as the default. If a concrete gap appears—atomic writes, cross-platform path normalization, recursive operations with permission preservation—treat this repository as a reading reference, then implement the minimal version in-house with unit tests, Windows/macOS/Linux coverage, and symlink/path-traversal safeguards. No production code should depend on this package.
How can I help you explore Laravel packages today?