portavice / laravel-filesanitizer
Laravel integration for sytxlabs/filesanitizer
Package info
github.com/portavice/laravel-filesanitizer
pkg:composer/portavice/laravel-filesanitizer
1.0.1
2026-03-16 10:33 UTC
Requires
- php: ^8.1
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- illuminate/validation: ^10.0|^11.0|^12.0
- sytxlabs/filesanitizer: *
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
- portavice/laravel-pint-config: ^2.0
This package is auto-updated.
Last update: 2026-03-16 12:31:27 UTC
README
Laravel integration for sytxlabs/filesanitizer.
The upstream package is installed as sytxlabs/filesanitizer and uses the class SytxLabs\FileSanitizer\FileSanitizer.
Installation
composer require portavice/laravel-filesanitizer php artisan vendor:publish --tag=filesanitizer-config
Usage
use Portavice\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 Portavice\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), ];