akbsit / laravel-system-file
Uploading files to the server.
Installs: 44
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/akbsit/laravel-system-file
Requires
- php: ^8.1
- ext-fileinfo: *
- dusank/knapsack: ^10.0
- laravel/framework: ^9.0|^10.0|^11.0
README
Install
To install package, you need run command:
composer require akbsit/laravel-system-file
Next install migrations:
php artisan migrate
Usage
To connect package to the model, you need to add a trait InteractsMedia:
use Akbsit\SystemFile\Traits\InteractsMedia;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
use InteractsMedia;
}
Examples
- Upload image:
User::first()
->addMedia('<file_url>')
->setFileName('user1')
->put();
- Attach one file to the model (the old one will be overwritten when re-uploading):
User::first()
->addMedia('<file_url>')
->setFileName('user1')
->single()
->put();
- Get first image:
$oSystemFile = User::first()->getMediaFirst();
- Get images list:
$oSystemFileList = User::first()->getMedia();
Methods and properties
media- list of files attached to the model;addMedia($file)- attach file to the model:$file- object/link of the uploaded file.
mediaExists(string $sCollection)- check for attached files (by defaultdefault);getMedia(string $sCollection)- list of collection files (by defaultdefault);getMediaFirst(string $sCollection)- first element of the collection (by defaultdefault).
media
getUrl()- absolute file path;getPath()- path to the file;getWidthAndHeight()- get file sizes (for images);getWidth()- get width (for images);getHeight()- get height (for pictures);fileExists()- check for the presence of the file physically.
addMedia
setFile($file)- set object/link to a file;setModel(Model $oModel)- set model;enablePartition()- enable folder generation (example:73c/d53/dce);single()- add one file to the model (all others are deleted if they were previously attached);setOriginFileName(string $sOriginFileName)- set origin file name;setFileName(string $sFileName)- set file name;setProperties(array $arProperties)- set file properties;toDisk(string $sDisk)- set storage disk (by defaultpublic);toCollection(string $sCollection)- set collection (by defaultdefault);toDir(string $sDir)- set storage folder (by defaultdefault);put()- save file.
Console commands
File synchronization
php artisan system-file:sync