sytxlabs/laravel-filesanitizer

Laravel integration for sytxlabs/filesanitizer

Maintainers

Package info

github.com/SytxLabs/laravel-filesanitizer

Issues

pkg:composer/sytxlabs/laravel-filesanitizer

Statistics

Installs: 205

Dependents: 0

Suggesters: 0

Stars: 0

1.0.0 2026-04-02 15:22 UTC

This package is auto-updated.

Last update: 2026-04-02 15:24:19 UTC


README

MIT Licensed Check code style Tests Latest Version on Packagist Total Downloads

Laravel integration for sytxlabs/filesanitizer.

The upstream package is installed as sytxlabs/filesanitizer and uses the class SytxLabs\FileSanitizer\FileSanitizer.

Installation

composer require sytxlabs/laravel-filesanitizer
php artisan vendor:publish --tag=filesanitizer-config

Usage

use SytxLabs\LaravelFileSanitizer\Facades\FileSanitizer;

$result = FileSanitizer::process(storage_path('app/uploads/file.pdf'), null, true);

if (! FileSanitizer::safe($result)) {
    foreach (FileSanitizer::issues($result) as $issue) {
        echo is_object($issue) ? $issue->code : ($issue['code'] ?? 'unsafe');
        echo PHP_EOL;
    }
}

Validation rule

use SytxLabs\LaravelFileSanitizer\Rules\SafeFile;

$request->validate([
    'upload' => ['required', 'file', new SafeFile()],
]);

Or as a validator string rule:

$request->validate([
    'upload' => ['required', 'file', 'safe_file'],
]);

UploadedFile macro

$result = $request->file('upload')->sanitize();

Config

return [
    'sanitize_always' => env('FILESANITIZER_SANITIZE_ALWAYS', false),
];

This config will always sanitize files when set to true, even if the file is already considered safe. This can be useful if you want to ensure that all files are sanitized, regardless of their initial safety status.