Download the PHP package enjoys/upload without Composer
On this page you can find all versions of the php package enjoys/upload. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package upload
Upload
File uploads library with validation uses PSR-7 UploadedFileInterface and League\Flysystem as a file storage library
Installation
Requires PHP 8.2 or later.
Install via Composer:
Basic Usage
Validation Rules
The library includes 3 built-in validation rules. You can also create custom rules by implementing Enjoys\Upload\RuleInterface
.
Available rules:
- Extension (Enjoys\Upload\Rule\Extension) — Validates file extensions
- Size (Enjoys\Upload\Rule\Size) — Validates file size
- MediaType (Enjoys\Upload\Rule\MediaType) — Validates MIME types
Adding Validation Rules
Extension Rule
Case-insensitive extension validation:
Size Rule
MediaType Rule
Event System
The library provides PSR-14 compatible events:
Available Events:
BeforeValidationEvent
- Dispatched before validation startsBeforeUploadEvent
- Dispatched after validation, before file uploadAfterUploadEvent
- Dispatched after successful file uploadUploadErrorEvent
- Dispatched when any error occurs
Usage Example:
Event Propagation:
All events implement StoppableEventInterface
. To stop further processing:
API Reference
Enjoys\Upload\UploadProcessing::class
setFilename(filename: string)
Sets a new filename for the uploaded file (call before upload).
addRule(rule: Enjoys\Upload\RuleInterface)
Adds a single validation rule (call before upload).
addRules(rules: Enjoys\Upload\RuleInterface[])
Adds multiple validation rules (call before upload).
upload(targetPath: string)
Processes the file upload. Optionally specify a subdirectory.
getTargetPath(): ?string
Returns the file storage path after upload, or null if not uploaded.
getFilesystem()
Returns the League\Flysystem\Filesystem::class
instance.
getUploadedFile(): UploadedFileInterface
Returns the PSR-7 UploadedFileInterface instance.
getFileInfo()
Returns the FileInfo object with file metadata.
Enjoys\Upload\FileInfo::class
getFilename(): string
Returns the full filename (e.g., new_file_name.jpg).
getOriginalFilename(): string
Returns the original uploaded filename.
getFilenameWithoutExtension(): string
Returns the filename without extension.
getExtension(): string
Returns the file extension (without dot).
getExtensionWithDot(): string
Returns the file extension with leading dot.
getSize(): int
Returns the file size in bytes.
getMediaType(): string
Returns the client-reported MIME type.
All versions of upload with dependencies
psr/http-message Version ^1.0 | ^2.0
league/flysystem Version ^3.30.0
psr/event-dispatcher Version ^1.0