File Manager#

Namespace: Infocyph\Pathwise\FileManager

Where it fits:

  • Use this module when your main workload is file-level IO, transformation, integrity checks, and archive handling.

FileOperations#

Brief capabilities:

  • Create/read/update/append/delete/rename/copy.

  • Checksum helpers: verifyChecksum(), writeAndVerify(), copyWithVerification().

  • Stream APIs: readStream(), writeStream().

  • Visibility/URL passthrough where adapter supports it.

  • Optional transaction rollback and policy enforcement.

Example:

use Infocyph\Pathwise\FileManager\FileOperations;

$file = new FileOperations('/tmp/report.txt');
$file->create('v1');
$file->writeAndVerify("v2\n", 'sha256');
$file->copyWithVerification('/tmp/report-copy.txt');

SafeFileReader#

Brief capabilities:

  • Memory-safe reads: line, char, binary chunk, CSV, JSON, XML.

  • Lock-aware reads for safer concurrent usage.

  • Iterator-friendly API.

Example:

use Infocyph\Pathwise\FileManager\SafeFileReader;

$reader = new SafeFileReader('/tmp/report.txt');
foreach ($reader->line() as $line) {
    // process line
}

SafeFileWriter#

Brief capabilities:

  • Structured writers for text/CSV/JSON/XML/binary.

  • Lock support.

  • Atomic write mode (temp file + rename).

  • Checksum verification support.

Example:

use Infocyph\Pathwise\FileManager\SafeFileWriter;

$writer = new SafeFileWriter('/tmp/events.log');
$writer->enableAtomicWrite()
    ->line('started')
    ->line('finished');

FileCompression#

Brief capabilities:

  • ZIP compress/decompress.

  • Password + AES modes.

  • Include/exclude glob patterns.

  • Ignore-file support (for example .pathwiseignore).

  • Hook and progress callback support.

Example:

use Infocyph\Pathwise\FileManager\FileCompression;

$zip = new FileCompression('/tmp/archive.zip', true);
$zip->setGlobPatterns(includePatterns: ['*.txt'], excludePatterns: ['*.tmp'])
    ->compress('/tmp/source')
    ->save();