akbsit/laravel-system-file

Uploading files to the server.

1.0.13 2024-04-06 11:37 UTC

This package is auto-updated.

Last update: 2024-11-06 12:52:52 UTC


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

  1. Upload image:
User::first()
    ->addMedia('<file_url>')
    ->setFileName('user1')
    ->put();
  1. Attach one file to the model (the old one will be overwritten when re-uploading):
User::first()
    ->addMedia('<file_url>')
    ->setFileName('user1')
    ->single()
    ->put();
  1. Get first image:
$oSystemFile = User::first()->getMediaFirst();
  1. 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 default default);
  • getMedia(string $sCollection) - list of collection files (by default default);
  • getMediaFirst(string $sCollection) - first element of the collection (by default default).

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 default public);
  • toCollection(string $sCollection) - set collection (by default default);
  • toDir(string $sDir) - set storage folder (by default default);
  • put() - save file.

Console commands

File synchronization

php artisan system-file:sync