akbsit / laravel-system-file
Uploading files to the server.
1.0.13
2024-04-06 11:37 UTC
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